summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-04-27 21:35:21 +0000
committerKarl Berry <karl@freefriends.org>2017-04-27 21:35:21 +0000
commit6165f44cf87ca75b6071efd3b3d171f9f7cf9f5f (patch)
treec4ac588e1ab0dd9ba8d00923fae646389c415ea0
parent47a48398c30bb42ac7944d0f1481a436647d27b2 (diff)
pxrubrica (27apr17)
git-svn-id: svn://tug.org/texlive/trunk@44082 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/platex/pxrubrica/README-ja.md8
-rw-r--r--Master/texmf-dist/doc/platex/pxrubrica/README.md11
-rw-r--r--Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.pdfbin52216 -> 52345 bytes
-rw-r--r--Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.tex4
-rw-r--r--Master/texmf-dist/doc/platex/pxrubrica/pxrubrica.pdfbin371210 -> 440838 bytes
-rw-r--r--Master/texmf-dist/doc/platex/pxrubrica/sample/test-sample.pdfbin0 -> 299469 bytes
-rw-r--r--Master/texmf-dist/doc/platex/pxrubrica/sample/test-sample.tex136
-rw-r--r--Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx2096
-rw-r--r--Master/texmf-dist/tex/platex/pxrubrica/pxrubrica.sty892
9 files changed, 3101 insertions, 46 deletions
diff --git a/Master/texmf-dist/doc/platex/pxrubrica/README-ja.md b/Master/texmf-dist/doc/platex/pxrubrica/README-ja.md
index fb4d4a9657c..249c2581590 100644
--- a/Master/texmf-dist/doc/platex/pxrubrica/README-ja.md
+++ b/Master/texmf-dist/doc/platex/pxrubrica/README-ja.md
@@ -7,13 +7,15 @@ JIS 規格「JIS X 4051」および W3C 技術ノート「[日本語組版処理
で述べられているような、日本において一般的な様式に従ってルビを付ける
機能を提供する。
+1.3 版より、圏点出力機能が追加された。
+
[日本語組版処理の要件]: <http://www.w3.org/TR/jlreq/ja/>
### 前提環境
* フォーマット: LaTeX
* エンジン: pTeX/upTeX/LuaTeX/XeTeX
- * DVI ウェア: pTeX 対応のもの
+ * DVI ウェア(DVI 出力時): pTeX 対応のもの
### 構成物
@@ -45,6 +47,10 @@ MITライセンスの下で配布される。
更新履歴
--------
+ * Version 1.3 〈2017/04/27〉
+ - 圏点出力機能(ルビ圏点同時付加を含む)。
+ - 和文ゴースト処理の改良。
+ - hyperref の PDF 文字列に対する対策。
* Version 1.2 〈2017/04/20〉
- 自動切換のモノルビ・熟語ルビ。
- 安全モード。
diff --git a/Master/texmf-dist/doc/platex/pxrubrica/README.md b/Master/texmf-dist/doc/platex/pxrubrica/README.md
index f013d0ee34a..f826a14bcd0 100644
--- a/Master/texmf-dist/doc/platex/pxrubrica/README.md
+++ b/Master/texmf-dist/doc/platex/pxrubrica/README.md
@@ -8,13 +8,16 @@ follows the style conventional in Japanese typography, as described in
the W3C technical note “Requirements for Japanese Text Layout” ([JLREQ])
and the JIS specification JIS X 4051.
+Starting with version 1.3, this package also provides function to add
+kenten (emphasis marks) to Japanese text.
+
[JLREQ]: <http://www.w3.org/TR/jlreq/>
### SYSTEM REQUIREMENTS
* TeX format: LaTeX.
- * TeX engine: pTeX and its derivatives.
- * DVI driver: Anything that supports pTeX DVI.
+ * TeX engine: pTeX, upTeX, LuaTeX, XeTeX.
+ * DVI driver (in DVI output): Anything that supports pTeX DVI.
### CONTENT
@@ -47,6 +50,10 @@ This package is distributed under the MIT License.
Revision History
----------------
+ * Version 1.3 〈2017/04/27〉
+ - Kenten function.
+ - Improve Japanese-text ghost insertion.
+ - Support the use in PDF strings.
* Version 1.2 〈2017/04/20〉
- Mono-ruby and jukugo-ruby with switching.
- Safe mode.
diff --git a/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.pdf b/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.pdf
index 5c126debab3..5508115bfd2 100644
--- a/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.pdf
+++ b/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.tex b/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.tex
index 53cb23a1686..3f4b244e1a5 100644
--- a/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.tex
+++ b/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica-en.tex
@@ -8,8 +8,8 @@
\newcommand*{\Eg}{E.\,g.\mbox{}}
\newcommand*{\eg}{e.\,g.\mbox{}}
\newcommand*{\ie}{i.\,e.\mbox{}}
-\newcommand*{\myfileversion}{1.2}
-\newcommand*{\myfiledate}{2017/04/20}
+\newcommand*{\myfileversion}{1.3}
+\newcommand*{\myfiledate}{2017/04/27}
\newsavebox{\myexample}
\begin{document}
diff --git a/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica.pdf b/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica.pdf
index 10d6ea72fb1..ece8940db9b 100644
--- a/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica.pdf
+++ b/Master/texmf-dist/doc/platex/pxrubrica/pxrubrica.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/platex/pxrubrica/sample/test-sample.pdf b/Master/texmf-dist/doc/platex/pxrubrica/sample/test-sample.pdf
new file mode 100644
index 00000000000..8c295a0915e
--- /dev/null
+++ b/Master/texmf-dist/doc/platex/pxrubrica/sample/test-sample.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/platex/pxrubrica/sample/test-sample.tex b/Master/texmf-dist/doc/platex/pxrubrica/sample/test-sample.tex
new file mode 100644
index 00000000000..667848d4c76
--- /dev/null
+++ b/Master/texmf-dist/doc/platex/pxrubrica/sample/test-sample.tex
@@ -0,0 +1,136 @@
+\documentclass[autodetect-engine,dvi=dvipdfmx,ja=standard,
+ a4paper]{bxjsarticle}
+\usepackage{setspace}
+\usepackage{pxrubrica}
+\newcommand*{\vb}{\symbol{`\|}}
+\newcommand*{\Opt}[1]{\texttt{#1}}
+\newcommand*{\PKN}[1]{\textsf{#1}}
+\newsavebox{\myexample}
+\rubysetup{f}
+\begin{document}
+
+\title{\PKN{pxrubrica}パッケージサンプル}
+\author{某ZR}
+\date{コンパイル日付: \today}
+\maketitle
+
+\section{サンプル}
+
+\subsection{基本的な用法}
+
+\begin{itemize}
+\item モノルビ(\Opt{m}オプション):各漢字に一つのルビブロック\\
+例:\quad
+\verb+\ruby[m]{鷹}{たか}+ → \ruby[m]{鷹}{たか}\quad
+\verb+\ruby[m]{鶯}{うぐいす}+ → \ruby[m]{鶯}{うぐいす}
+\item グループルビ(\Opt{m}オプション):漢字列全体に一つのルビブロック\\
+例:\quad
+\verb+\ruby[g]{雲雀}{ひばり}+ → \ruby[g]{雲雀}{ひばり}\quad
+\verb+\ruby[g]{不如帰}{ほととぎす}+ → \ruby[g]{不如帰}{ほととぎす}
+\item 熟語ルビ(\Opt{j}オプション):各漢字にルビを対応させるが熟語として読む\\
+例:\quad
+\verb+\ruby[j]{孔雀}{く|じゃく}+ → \ruby[j]{孔雀}{く|じゃく}\quad
+\verb+\ruby[j]{七面鳥}{しち|めん|ちょう}+ → \ruby[j]{七面鳥}{しち|めん|ちょう}
+\item ルビ文字列中の \verb+|+ は各漢字の読みの境界を示す。
+(孔=く、雀=じゃく)。
+グループルビでは不要である。
+\item 組版結果の比較:
+\begin{quote}\begin{tabular}{ll@{\ }l@{\ }c*3{@{\quad}c}}
+モノルビ & (\verb+\ruby[m]{小鳩}{こ|ばと}+) & →
+ & \ruby[m]{小鳩}{こ|ばと}
+ & \ruby[m]{鶺鴒}{せき|れい}
+ & \ruby[m]{雷鳥}{らい|ちょう}
+ & \ruby[m]{燕}{つばめ}
+\\
+グループルビ & (\verb+\ruby[g]{小鳩}{こばと}+) & →
+ & \ruby[g]{小鳩}{こばと}
+ & \ruby[g]{鶺鴒}{せきれい}
+ & \ruby[g]{雷鳥}{らいちょう}
+ & \ruby[g]{燕}{つばめ}
+\\
+熟語ルビ & (\verb+\ruby[j]{小鳩}{こ|ばと}+) & →
+ & \ruby[j]{小鳩}{こ|ばと}
+ & \ruby[j]{鶺鴒}{せき|れい}
+ & \ruby[j]{雷鳥}{らい|ちょう}
+ & \ruby[j]{燕}{つばめ}
+\end{tabular}\end{quote}
+熟語の各漢字とルビが対応する場合は、熟語ルビ(\Opt{j})を使い、
+そうでない(熟字訓の)場合はグループルビ(\Opt{g})を使うのが通例である。
+特に熟語の各漢字ごとの読みを明示したい場合は
+モノルビ(\Opt{m})を使うとよい。
+なお、漢字一文字に対するルビの場合は、
+\Opt{m}、\Opt{g}、\Opt{j}の何れも同じ結果になる。
+\item オプションの既定値を \verb+\rubysetup+ 命令で設定できる。
+例えば、\verb+\rubysetup{g}\ruby{軍鶏}{しゃも}+
+は \verb+\ruby[g]{軍鶏}{しゃも}+ と等価になる。
+“既定値の既定値”は\Opt{|cjPeF|}である。
+\end{itemize}
+
+\subsection{進入・突出}
+
+\begin{itemize}
+\item ルビの進入の制御:
+\begin{center}\begin{tabular}{ll@{\ }l@{\ }c*2{@{\quad}c}}
+進入無し & \verb+この\ruby[|-|]{鵲}{かささぎ}の+ & →
+ & この\ruby[|-|]{鵲}{かささぎ}の
+ & この\ruby[|-|]{鸛}{こうのとり}の
+ & この\ruby[|-|]{鵜}{う}の
+\\
+進入量小 & \verb+この\ruby[(-)]{鵲}{かささぎ}の+ & →
+ & この\ruby[(-)]{鵲}{かささぎ}の
+ & この\ruby[(-)]{鸛}{こうのとり}の
+ & この\ruby[(-)]{鵜}{う}の
+\\
+進入量大 & \verb+この\ruby[<->]{鵲}{かささぎ}の+ & →
+ & この\ruby[<->]{鵲}{かささぎ}の
+ & この\ruby[<->]{鸛}{こうのとり}の
+ & この\ruby[<->]{鵜}{う}の
+\end{tabular}\end{center}
+\item もし「ルビは仮名にはかけてよいが漢字はダメ」という場合は、
+“\verb+この\ruby[<-|]{鵲}{かささぎ}等+”
+と書くと「この\ruby[<-|]{鵲}{かささぎ}等」の出力が得られる。
+\item 基本モード(\Opt{m}/\Opt{g}/\Opt{j})と進入を同時に指定したい場合は、
+オプション文字列を \Opt{|g|} や \Opt{|m>} のようにする。
+ここで、“\Opt{-}”は「基本モードは既定値を用いる」ことを意味する。
+\item 突出の制御:
+オプション \Opt{||} で突出が抑止される。
+\begin{quote}
+\begin{lrbox}{\myexample}
+\small$\leftarrow$ \verb+\ruby[||->]{雀}{すずめ}+
+\end{lrbox}
+\fbox{\parbox{.42\linewidth}{%
+\ruby[||->]{雀}{すずめ}の…
+\quad \usebox{\myexample}%
+\rule{0pt}{12pt}\\
+インコの
+}}\quad vs.\quad
+\begin{lrbox}{\myexample}
+\small$\leftarrow$ \verb+\ruby[|->]{雀}{すずめ}+
+\end{lrbox}
+\fbox{\parbox{.42\linewidth}{%
+\ruby[|->]{雀}{すずめ}の…
+\quad \usebox{\myexample}%
+\rule{0pt}{12pt}\\
+インコの
+}}
+\end{quote}
+\end{itemize}
+
+\subsection{発展的な用法}
+
+\begin{itemize}
+\item \verb+\aruby+:欧文に対してルビを付ける:
+\par\noindent 例:\quad
+\verb+\aruby{Get out}{ゲラウッ}!+ →\
+ \aruby{Get out}{ゲラウッ}!
+\item \verb+\rubyfontsetup+:ルビ出力のためのフォントを指定する。
+例えば、ゴシック体の漢字列に対して明朝体のルビを振りたい場合は、
+次のようにする:
+\par\noindent
+{\small
+\verb+\rubyfontsetup{\mcfamily}この{\gtfamily \ruby[j]{明朝体}{みん|ちょう|たい}}+}
+→\
+{\rubyfontsetup{\mcfamily}この{\gtfamily \ruby[j]{明朝体}{みん|ちょう|たい}}}
+\end{itemize}
+
+\end{document}
diff --git a/Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx b/Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx
index 9a46020499d..33b036c5126 100644
--- a/Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx
+++ b/Master/texmf-dist/source/platex/pxrubrica/pxrubrica.dtx
@@ -20,9 +20,9 @@
%<*driver>
\ProvidesFile{pxrubrica.dtx}
%</driver>
- [2017/04/20 v1.2 PX Japanese-style ruby]
+ [2017/04/27 v1.3 PX Japanese-style ruby]
%<*driver>
-\documentclass{jsarticle}
+\documentclass[uplatex]{jsarticle}
\usepackage{doc}
\addtolength{\textwidth}{-1in}
\addtolength{\evensidemargin}{1in}
@@ -68,6 +68,7 @@
% \setcounter{tocdepth}{3}
% \tableofcontents
%
+%^^A------------------------------------
% \section{$B%Q%C%1!<%8FI9~(B}
%
% |\usepackage| $BL?Na$rMQ$$$FFI$_9~$`!#(B
@@ -76,7 +77,8 @@
%\usepackage{pxrubrica}
%\end{verbatim}\end{quote}
%
-% \section{$B4pK\5!G=(B}
+%^^A------------------------------------
+% \section{$B%k%S5!G=(B}
%
% \subsection{$BMQ8l=8(B}
%
@@ -515,6 +517,252 @@
%
% \end{itemize}
%
+%^^A------------------------------------
+% \section{$B7wE@5!G=(B}
+%
+% \subsection{$B7wE@MQL?Na(B}
+%
+% \begin{itemize}
+% \item |\kenten[|\jmeta{$B%*%W%7%g%s(B}|]{|\jmeta{$B?FJ8;z(B}|}|
+%
+% $BOBJ8J8;zNs$N>eB&!J2#AH!K!?1&B&!J=DAH!K$K7wE@$rIU$9(B
+% $B!J%*%W%7%g%s$G5UB&$K$b$G$-$k!K!#(B
+%
+% \jmeta{$B%*%W%7%g%s(B}$B$OJ#?t;XDj2DG=$G!"GSB>$J;XDj$,J;B8$7$?>l9g$O(B
+% $B8e$N$b$N$,M-8z$K$J$k!#(B
+% $B$^$?!">JN,$5$l$?;XDj$K$D$$$F$O(B |\kentensetup| $B$G;XDj$5$l$?(B
+% $B4{DjCM$,MQ$$$i$l$k!#(B
+%
+% $B%*%W%7%g%s$K;XDj$G$-$kCM$O0J2<$NDL$j!#(B
+% \begin{quote}
+% \newcommand*\fro[1]{{\scriptsize($<$\,\textit{#1})}}
+% \begin{tabular}[t]{l@{ }ll}
+% \texttt{p} & \fro{primary} & $B<g%^!<%/(B\\
+% \texttt{s} & \fro{seconday} & $BI{%^!<%/(B\\
+% \texttt{f} & \fro{full} & $BA4J8;zIU2CM-8z(B\\
+% \texttt{F} & & $BA4J8;zIU2CL58z(B
+% \end{tabular}\qquad
+% \begin{tabular}[t]{l@{ }ll}
+% \texttt{P} & \fro{primary} & $B>eB&G[CV(B\\
+% \texttt{S} & \fro{secondary} & $B2<B&G[CV(B
+% \end{tabular}
+% \end{quote}
+%
+% \begin{itemize}
+% \item |p|$B!"(B|s| $B$OIU2C$9$k7wE@$N<oN`$rI=$9!#(B
+% $B2#AH$G$O<g%^!<%/!J(B|p|$B!K$O9uCfE@!"I{%^!<%/!J(B|s|$B!K$O9u%4%^E@$,(B
+% $BMQ$$$i$l!"=DAH$G$O5U$K<g%^!<%/$,9u%4%^E@!"I{%^!<%/$,9uCfE@$H$J$k!#(B
+% $B$?$@$7@_DjL?Na$K$h$j7wE@$N<oN`$OJQ99$G$-$k!#(B
+% \item |P| $B$O?FJ8;zNs$N>eB&!J2#AH!K!?1&B&!J=DAH!K!"(B
+% |S| $B$O?FJ8;zNs$N2<B&!J2#AH!K!?:8B&!J=DAH!K$K7wE@$rIU$9;XDj!#(B
+% \item |f| $B;XDj;~$O!"?FJ8;zNs$K4^$^$l$k!HDL>oJ8;z!I$NA4$F$K7wE@$rIU2C$9$k!#(B
+% |F| $B;XDj;~$O!"LsJ*$G$"$k!HDL>oJ8;z!I$K$O7wE@$rIU2C$7$J$$!#(B
+% \end{itemize}
+%
+% \end{itemize}
+%
+% \subsection{$B7wE@L?Na$N?FJ8;zNs(B}
+%
+% $B7wE@IU2C$N=hM}$G$O?FJ8;zNs$rJ8;zKh$KJ,2r$9$kI,MW$,$"$k!#(B
+% $B$3$N$?$a!"7wE@L?Na$N?FJ8;zNs$O0lDj$N5,B'$K=>$C$F(B
+% $B=q$+$l$kI,MW$,$"$k!#(B
+%
+% $B7wE@L?Na$N?FJ8;zNs$K$O0J2<$N$b$N$r4^$a$k$3$H$,$G$-$k!#(B
+%
+% \begin{itemize}
+% \item $BDL>oJ8;z(B\Means {\LaTeX}$B$NL?Na$dFC<lJ8;z$d2$J86uGr$G$J$$!"(B
+% $B2$J8$^$?$OOBJ8$NJ8;z$r;X$9!#(B
+% $BDL>oJ8;z$K$O0l$D$N7wE@$,IU2C$5$l$k!#(B
+% \begin{itemize}
+% \item |F| $B%*%W%7%g%s$r;XDj$7$?>l9g!"LsJ*!J6gFIE@Ey!K$NJ8;z$K$O(B
+% $B7wE@$,IU2C$5$l$J$$!#(B
+% \item $B2$J8J8;z$K7wE@$rIU$1$?>l9g!"$=$NJ8;z$OAHHG>e(B
+% $B!HOBJ8J8;z$N$h$&$K!I?6Iq$&!#(B
+% \end{itemize}
+% \item {\LaTeX}$B$NL?Na$*$h$S2$J86uGr(B\Means $B$3$l$i$K$O(B
+% $B7wE@$,IU2C$5$l$J$$!#(B
+% \begin{itemize}
+% \item $B<g$K(B |\,| $B$d(B |\quad| $B$N$h$&$J6uGrMQ$NL?Na$N;HMQ$r(B
+% $B0U?^$7$F$$$k!#(B
+% \item |\hspace{1zw}| $B$N$h$&$J0z?t$r<h$kL?Na$r$=$N$^$^=q$/$3$H$O(B
+% $B$G$-$J$$!#(B
+% $B$3$N>l9g$O!"0J9_$K<($92?$l$+$N=q<0$rMxMQ$9$kI,MW$,$"$k!#(B
+% \footnote{$BA43Q6uGr!J(B\verb|\hspace{1zw}|$B!K$dOB2$J84V6uGr(B
+% $B!J(B\verb|\hspace{\kanjiskip}|$B!K$r=PNO$9$k@lMQ$N%^%/%m$rMQ0U$7$F(B
+% $B$*$/$HJXMx$+$b$7$l$J$$!#(B}
+% \end{itemize}
+% \item $B%0%k!<%W(B\Means $B$9$J$o$A!"(B|{ }| $B$K0O$^$l$?G$0U$N%F%-%9%H!#(B
+% $B%k%SL?Na$N%0%k!<%W$HF1MM$K!"0l$D$N!TJ8;z!U$H$7$F07$o$l!"(B
+% $BA4BN$KBP$7$F0l$D$N7wE@$,IU2C$5$l$k!#(B
+% \begin{itemize}
+% \item \PKN{japanese-otf}$B%Q%C%1!<%8$N(B |\CID| $BL?Na$N$h$&$J!"(B
+% $B!VFC<l$JOBJ8J8;z$r=PNO$9$kL?Na!W$N;HMQ$r0U?^$7$F$$$k!#(B
+% \end{itemize}
+% \item |\kspan{|\jmeta{$B%F%-%9%H(B}|}|\Means $B$3$l$O!"(B
+% $B=PNO$5$l$k%F%-%9%H$NI}$K1~$8$?8D?t$N7wE@$,IU2C$5$l$k!#(B
+% \begin{itemize}
+% \item $BNc$($P!"!H$/$N;zE@!I$K7wE@$rIU$9>l9g$K;H$($k!#(B
+% \item $B$"$k$$$O!"!J>/!9<jH4$-$G$"$k$,(B
+% \footnote{$BK\Mh$O!"(B\verb|\textgt| $B$NCf$G2~$a$F(B \verb|\kenten|
+% $B$r;H$&$Y$-$G$"$k!#(B}%
+% $B!K(B|\kenten{$B$3$N(B\kspan{\textgt{$BJ8;z(B}}$B$@(B}| $B$_$?$$$J;H$$J}$b(B
+% $B9M$($i$l$k!#(B
+% \end{itemize}
+% \item |\kspan*{|\jmeta{$B%F%-%9%H(B}|}|\Means $B$3$l$O(B
+% $B7wE@$rIU$5$:$K%F%-%9%H$r$=$N$^$^=PNO$9$k!#(B
+% \item $B%k%SL?Na!J(B|\ruby| $BEy!K(B\Means $BNc$($P(B
+%\begin{quote}\begin{verbatim}
+%\kenten{$B$3$l$,(B\ruby[|j|]{$B7wE@(B}{$B$1$s(B|$B$F$s(B}$B$G$9(B}$B!#(B
+%\end{verbatim}\end{quote}
+% $B$N$h$&$K!"%k%SL?Na$O$=$N$^$^=q$/$3$H$,$G$-$k!#(B
+% \begin{itemize}
+% \item |\kentenrubycombination| $B$N@_Dj$K$h$C$F$O!"%k%S$H7wE@$NN>J}$,(B
+% $BIU2C$5$l$k!#(B
+% \item $B<BAu>e$N@)8B(B
+% \footnote{$B7wE@L?Na$O>o$K%4!<%9%H=hM}$rH<$&$?$a!"@h=R$N(B
+% $B!V%4!<%9%H=hM}$H?JF~$O6&B8$7$J$$!W$H$$$&@)8B$K0z$C$+$+$k$N$G$"$k!#(B}%
+% $B$N$?$a!"7wE@L?Na$N@hF,$K%k%SL?Na$,$"$k>l9g!"(B
+% $B%k%S$NA0B&$N?JF~$,L58z$K$J$k!#(B
+% $BF1MM$K!"7wE@L?Na$NKvHx$K%k%SL?Na$,$"$k>l9g!"(B
+% $B%k%S$N8eB&$N?JF~$,L58z$K$J$k!#(B
+% \item $B7wE@L?NaCf$N%k%S$N=hM}$ODL>o$N>l9g$HHf$Y$F!HJ#;(!I$G$"$k$?$a!"(B
+% $B<+F0E*$J6XB'=hM}$,F/$+$J$$2DG=@-$,9b$$!#(B
+% $B=>$C$F!"I,MW$K1~$8$FJd=u@_Dj$GJ,3d6X;_!J(B|*|$B!K$r;XDj$9$kI,MW$,$"$k!#(B
+% \item $B5U$K%k%SL?Na$NF~NO$K7wE@L?Na$r$=$N$^$^=q$/$3$H$O$G$-$J$$!#(B
+%\begin{quote}\begin{verbatim}
+%\ruby[|j|]{\kenten{$B7wE@(B}}{$B$1$s(B|$B$F$s(B}% $BIT2D(B
+%\end{verbatim}\end{quote}
+% |{ }| $B$G0O$C$?!TJ8;z!U$NCf$G$O;H$($k$,!"$3$N>l9g$OF1;~IU2C$H$O(B
+% $B8+$J$5$l$:!"FHN)$KF0:n$9$k$3$H$K$J$k!#(B
+% \end{itemize}
+% \end{itemize}
+%
+% \subsection{$B%4!<%9%H=hM}(B}
+%
+% $B7wE@=PNO$G$O%k%S$H0[$J$j?JF~$N=hM}$,ITMW$G$"$k!#(B
+% $B$3$N$?$a!"8=>u$G$O!"7wE@L?Na$K$D$$$F$O(B
+% \textgt{$B>o$K(B}$BOBJ8%4!<%9%H=hM}$rE,MQ$9$k!#(B
+%
+% \Note $BHsI8=`$NOBJ8%a%H%j%C%/!J(BJFM$B!K$,;H$o$l$F$$$kEy$NM}M3$G!"(B
+% $BOBJ8%4!<%9%H=hM}$,@5>o$K5!G=$7$J$$>l9g$,B8:_$9$k!#(B
+% $B$3$N$?$a!">-MhE*$K!"7wE@L?Na$K$D$$$F$bOBJ8%4!<%9%H=hM}$r(B
+% $B9T$o$J$$!J%k%SL?Na$HF1MM$NJd=u@_Dj$rE,MQ$9$k!K@_Dj$r(B
+% $BMQ0U$9$kM=Dj$G$"$k!#(B
+%
+% \subsection{$B%Q%i%a%?@_DjL?Na(B}
+%
+% \begin{itemize}
+%
+% \item |\kentensetup{|\jmeta{$B%*%W%7%g%s(B}|}|
+%
+% $B%*%W%7%g%s$N4{DjCM@_Dj!#(B
+% $B!N4{Dj(B = \texttt{pPF}$B!O(B
+%
+% \item |\kentenmarkinyoko{|\jmeta{$BL>A0$^$?$O%F%-%9%H(B}|}|
+%
+% $B2#AH;~$N<g%^!<%/!J(B|p| $B;XDj;~!K$H$7$F;H$o$l$k7wE@$r;XDj$9$k!#(B
+% $B!N4{Dj(B = |bullet*|$B!O(B
+%
+% $B%Q%C%1!<%8$GM=$aMQ0U$5$l$F$$$k7wE@<oJL$K$D$$$F$OL>A0$G;XDj$G$-$k!#(B
+% \begin{quote}
+% \newcommand*\Us[1]{\symbol{"#1}}
+% \newcommand*\Ucomp{{\small \<$B!J9g@.!K(B\<}}
+% \newcommand*\U[1]{\texttt{#1}}
+% \begin{tabular}[t]{ll@{ }ll}
+% \texttt{bullet*} & {$B!&(B} & \Ucomp & $B9uCfE@(B\\
+% \texttt{bullet} & {$B!&(B} & \U{2022*}& $B9uCfE@(B\\
+% \texttt{Bullet} & \Us{25E6} & \U{25E6*}& $BGrCfE@(B\\
+% \texttt{sesame*} & \Us{FE45} & \Ucomp & $B9u%4%^E@(B\\
+% \texttt{sesame} & \Us{FE45} & \U{FE45*}& $B9u%4%^E@(B\\
+% \texttt{Sesame} & \Us{FE46} & \U{FE46*}& $BGr%4%^E@(B
+% \end{tabular}\qquad
+% \begin{tabular}[t]{ll@{ }ll}
+% \texttt{triangle} & \Us{25B2} & \U{25B2} & $B9u;03Q(B\\
+% \texttt{Triangle} & \Us{25B3} & \U{25B3} & $BGr;03Q(B\\
+% \texttt{circle} & \Us{25CF} & \U{25CF} & $B9u4](B\\
+% \texttt{Circle} & \Us{25CB} & \U{25CB} & $BGr4](B\\
+% \texttt{bullseye} & \Us{25CE} & \U{25CE} & $BFs=E4](B\\
+% \texttt{fisheye} & \Us{25C9} & \U{25C9*}& $B<X$NL\E@(B
+% \end{tabular}
+% \end{quote}
+% \begin{itemize}
+% \item $B$3$l$i$N7wE@<oJL$N$&$A!"(B
+% |bullet*| $B$OCf9u!H(B{$B!&(B}$B!I!J(BU+30FB$B!K!"(B
+% |sesame*| $B$OFIE@!H(B{$B!"(B}$B!I!J(BU+3001$B!K$N(B
+% $B;z7A$r2C9)$7$?$b$N$rMxMQ$9$k!#(B
+% $B$3$l$i$O$I$s$JF|K\8l%U%)%s%H$G$b%5%]!<%H$5$l$F$$$k$N$G!"(B
+% $B3N<B$K;HMQ$G$-$k!#(B
+% \item $B$=$l0J30$N7wE@<oJL$O!"5-:\$NJ8;z%3!<%I$r$b$D(B
+% Unicode$BJ8;z$r=PNO$9$k!#(B
+% $B;HMQ$9$k%U%)%s%H$K$h$C$F$O!";z7A$r;}$C$F$$$J$$$?$a2?$b=PNO$5$l$J$$!"(B
+% $B$"$k$$$O;z7A$,A43QI}$G$J$$$?$a@5>o$K=PNO$5$l$J$$!"(B
+% $B$H$$$&2DG=@-$,$"$k!#(B
+% \item $BJ8;z%3!<%ICM$K(B |*| $B$rIU$1$?$b$N$O!"$=$NJ8;z$,(B
+% JIS~X~0208$B$K$J$$$3$H$rI=$9!#(B
+% {\pLaTeX}$B$G$3$l$i$N7wE@<oJL$rMxMQ$9$k$?$a$K$O(B
+% \PKN{japanese-otf}$B%Q%C%1!<%8$rFI$_9~$`I,MW$,$"$k!#(B
+% \end{itemize}
+%
+% $B$"$k$$$O!"L>A0$NBe$o$j$KG$0U$N(B{\LaTeX}$B$N%F%-%9%H$r=q$/$3$H$,$G$-$k!#(B
+% \footnote{$B$?$@$7!"0z?t$N@hF,$NJ8;z$,(BASCII$B1Q;z$G$"$k>l9g$O(B
+% $BL>A0$N;XDj$H8+$J$5$l$k$?$a!"%F%-%9%H$H$7$F07$$$?$$>l9g$O(B
+% $BE,59(B \verb|{ }| $B$rJd$&Ey$NA<CV$,I,MW$G$"$k!#(B}%
+%\begin{quote}\begin{verbatim}
+%\kentenmarkinyoko{$B"((B}
+%\end{verbatim}\end{quote}
+%
+% \item |\kentensubmarkinyoko{|\jmeta{$BL>A0$^$?$O%F%-%9%H(B}|}|
+%
+% $B2#AH;~$NI{%^!<%/!J(B|s| $B;XDj;~!K$H$7$F;H$o$l$k7wE@$r;XDj$9$k!#(B
+% $B!N4{Dj(B = |sesame*|$B!O(B
+%
+% \item |\kentenmarkintate{|\jmeta{$BL>A0$^$?$O%F%-%9%H(B}|}|
+%
+% $B=DAH;~$N<g%^!<%/!J(B|p| $B;XDj;~!K$H$7$F;H$o$l$k7wE@$r;XDj$9$k!#(B
+% $B!N4{Dj(B = |sesame*|$B!O(B
+%
+% \item |\kentensubmarkintate{|\jmeta{$BL>A0$^$?$O%F%-%9%H(B}|}|
+%
+% $B=DAH;~$NI{%^!<%/!J(B|s| $B;XDj;~!K$H$7$F;H$o$l$k7wE@$r;XDj$9$k!#(B
+% $B!N4{Dj(B = |bullet*|$B!O(B
+%
+% \item |\kentenfontsetup{|\jmeta{$BL?Na(B}|}|
+%
+% $B7wE@MQ$N%U%)%s%H@ZBXL?Na$r@_Dj$9$k!#(B
+%
+% \item |\kentenintergap{|\jmeta{$B<B?t(B}|}|
+%
+% $B7wE@$H?FJ8;z$N4V$N6u$-!J?FJ8;zA43QC10L!K!#(B
+% $B!N4{Dj(B = 0$B!O(B
+%
+% \item |\kentensizeratio{|\jmeta{$B<B?t(B}|}|
+%
+% $B7wE@%5%$%:$N?FJ8;z%5%$%:$KBP$9$k3d9g!#(B
+% $B!N4{Dj(B = 0.5$B!O(B
+%
+% \end{itemize}
+%
+% $B7wE@$H%k%S$NF1;~IU2C$K4X$9$k@_Dj!#(B
+%
+% \begin{itemize}
+%
+% \item |\kentenrubycombination{|\jmeta{$BCM(B}|}|
+% $B7wE@L?Na$N?FJ8;zCf$G%k%SL?Na$,;H$o$l$?;~$N5sF0$r;XDj$9$k!#(B
+% $B!N4{Dj(B = |both|$B!O(B
+% \begin{itemize}
+% \item |ruby|$B!'(B $B%k%S$N$_$r=PNO$9$k!#(B
+% \item |both|$B!'(B $B%k%S$N30B&$K7wE@$r=PNO$9$k!#(B
+% \end{itemize}
+%
+% \item |\kentenrubyintergap{|\jmeta{$B<B?t(B}|}|
+%
+% $B7wE@$H%k%S$,F1$8B&$KIU$$$?;~$N4V$N6u$-!J?FJ8;zA43QC10L!K!#(B
+% $B!N4{Dj(B = 0$B!O(B
+%
+% \end{itemize}
+%
+%^^A------------------------------------
+%\iffalse
% \section{$B>-Mh$N3HD%5!G=(B\<$B!JL$<BAu!K(B}
%
% $B!J$3$N@a$G$O!"$^$@<BAu$5$l$F$$$J$$$,!"(B
@@ -576,10 +824,15 @@
% $B!N4{Dj(B = $B5v$5$J$$!O(B
%
% \end{itemize}
-%
+%\fi
+%^^A========================================================
+% \StopEventually
+% \newpage
% \setlength{\parindent}{0pt}
+% \newcommand*{\cs}[1]{\texttt{\symbol{`\\}#1}}
%
-% \section{$B<BAu(B}
+%^^A------------------------------------
+% \section{$B<BAu!J%k%S4XO"!K(B}
%
% \subsection{$BA0Ds%Q%C%1!<%8(B}
%
@@ -1046,7 +1299,11 @@
% \end{macrocode}
% \end{macro}
%
-% \subsubsection{$B%k%S8F=P;~$N@_Dj(B}
+% \subsubsection{$B8F=P;~%Q%i%a%?!&JQ?t(B}
+%
+% $B0lHLE*$K!"FCDj$N%k%S!&7wE@L?Na$N8F=P$K8GM-$G$"$k(B
+% $B!J$D$^$j$=$NFbB&$K%M%9%H$5$l$?%k%S!&7wE@L?Na$K7Q>5$9$Y$-$G$J$$!K(B
+% $B%Q%i%a%?$O!"8F=P;~$NCM$rJL$KJ];}$7$F$*$/$Y$-$G$"$k!#(B
%
% \begin{macro}{\ifpxrr@bprotr}
% \begin{macro}{\ifpxrr@aprotr}
@@ -1196,7 +1453,20 @@
% \end{macrocode}
% \end{macro}
%
-% \subsection{$BJQ?t(B}
+% \begin{macro}{\pxrr@c@ruby@font}
+% \begin{macro}{\pxrr@c@size@ratio}
+% \begin{macro}{\pxrr@c@inter@gap}
+% $B0J2<$O!H%*%W%7%g%s$G;XDj$9$k!I0J30$N%Q%i%a%?$KBP1~$9$k$b$N!#(B
+% \begin{macrocode}
+\let\pxrr@c@ruby@font\@undefined
+\let\pxrr@c@size@ratio\@undefined
+\let\pxrr@c@inter@gap\@undefined
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{$B$=$NB>$NJQ?t(B}
%
% \begin{macro}{\pxrr@body@list}
% $B?FJ8;zNs$N$?$a$K;H$&%j%9%H!#(B
@@ -2121,6 +2391,9 @@
% \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
+% \Note |.sty|$B%U%!%$%k$O40A4$K(BASCII$BJ8;z$@$1$K$9$kJ}?K$N$?$a!"(B
+% $BOBJ8J8;z$,I,MW$J>l9g$O$3$NJd=u%^%/%m$d(B |\pxrr@jchardef| $B$r(B
+% $BMxMQ$7$FJ#9g%3!<%ICM$+$i:n$j=P$9$3$H$K$J$k!#(B
%
% {\pTeX}$B7O$N>l9g!#(B|\kansuji| $B%H%j%C%/$rMxMQ$9$k!#(B
% \begin{macrocode}
@@ -2154,6 +2427,62 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\pxrr@zspace}
+% $BA43Q6uGrJ8;z!#(B
+% $BJ8;z$=$N$b$N$r%U%!%$%k$K4^$^$;$?$/$J$$$N$G(Bchardef$B$K$9$k!#(B
+% \begin{macrocode}
+\pxrr@jchardef\pxrr@zspace=\pxrr@jc{2121:3000}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@jghost@char}
+% $BOBJ8%4!<%9%H=hM}$KMxMQ$9$kJ8;z!#(B
+% $B;z7A$,6u$G$"$j!"$+$D0lHL$N4A;z$HF1$85sF0$r<($9I,MW$,$"$k!#(B
+% $B<B:]$N%4!<%9%H=hM}$G$O;zI}$rAj;&$9$k=hM}$rF~$l$k0Y!"(B
+% $B;zI}$,%<%m$G$"$kI,MW$O$J$$!#(B
+%
+% $B$[$H$s$I$N>l9g!"A43Q6uGrJ8;z$G9=$o$J$$$,!"A43Q6uGrJ8;z$,(B
+% $BJ8;z%?%$%W(B0$B$G$J$$(BJFM$B$,;H$o$l$F$$$k>l9g$OLdBj$K$J$k!#(B
+%
+% {\upTeX}$B$N>l9g!"!H3HD%Id9f6u4V!I$NJ8;z%3!<%I$r;H$&!#(B
+% $B$9$J$o$A!"J8;z%3!<%I(B |"113000| $B$NJ8;z$O(BDVI$B$G$OJ8;z%3!<%I(B |"3000| $B$H(B
+% $B07$o$l$k$,!"!H(BBMP$B30!I$K$"$k$?$aI,$:J8;z%?%$%W(B0$B$K$J$k!#(B
+% \begin{macrocode}
+\ifpxrr@in@uptex
+ \kchardef\pxrr@jghost@char="113000
+% \end{macrocode}
+% {\LuaTeX}-ja$B$N>l9g!#(B
+% $BJ8=q@hF,$G!HA43Q6uGrJ8;z$,;H$($k$+!I$r8!::$7$F!"<:GT$7$?>l9g$O(B
+% $B!VOBJ8$N(BU+00A0$B!W$rBe$o$j$KMxMQ$9$k$3$H$K$9$k!#(B
+% \begin{macrocode}
+\else\ifpxrr@in@luatexja
+ \let\pxrr@jghost@char\pxrr@zspace
+ \def\pxrr@jghost@check{%
+ \begingroup
+% \ltjsetparameter{jaxspmode={\pxrr@zspace,3}}%
+% \ltjsetparameter{xkanjiskip=\p@}%
+% \ltjsetparameter{autoxspacing=false}%
+ \setbox\z@\hbox{\char"3001\char"3000}%
+% \ltjsetparameter{autoxspacing=true}%
+ \setbox\tw@\hbox{\char"3001\inhibitglue\char"3000}%
+ \ifdim\wd\tw@=\wd\z@
+ \global\chardef\pxrr@jghost@char@="00A0
+ \gdef\pxrr@jghost@char{\ltjjachar\pxrr@jghost@char@}%
+ \fi
+ \endgroup
+ }
+ \AtBeginDocument{%
+ \pxrr@jghost@check
+ }
+% \end{macrocode}
+% $B$=$l0J30$N>l9g$O!J;EJ}$,L5$$$N$G!KA43Q6uGr$rMQ$$$k!#(B
+% \begin{macrocode}
+\else
+ \let\pxrr@jghost@char\pxrr@zspace
+\fi\fi
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\pxrr@x@K}
% $BE,Ev$J4A;z!J<B:]$O!R0l!S!K$N%H!<%/%s!#(B
% \begin{macrocode}
@@ -2327,14 +2656,14 @@
% \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
+% |\pxrr@get@prebreakpenalty\CS{|\jmeta{$BJ8;z%3!<%I(B}|}|\Means
+% $BJ8;z$N8e6XB'%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
+ #1=\prebreakpenalty#2\relax
}
% \end{macrocode}
%
@@ -2342,7 +2671,7 @@
% \begin{macrocode}
\else\ifpxrr@in@luatexja
\def\pxrr@get@prebreakpenalty#1#2{%
- #1=\ltjgetparameter{prebreakpenalty}{`#2}\relax
+ #1=\ltjgetparameter{prebreakpenalty}{#2}\relax
}
% \end{macrocode}
%
@@ -2356,6 +2685,100 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\pxrr@get@postbreakpenalty}
+% |\pxrr@get@postbreakpenalty\CS{|\jmeta{$BJ8;z%3!<%I(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|\postbreakpenalty| $B$r;H$&!#(B
+% \begin{macrocode}
+\ifpxrr@in@ptex
+ \def\pxrr@get@postbreakpenalty#1#2{%
+ #1=\postbreakpenalty#2\relax
+ }
+% \end{macrocode}
+%
+% \PKN{LuaTeX-ja}$B;HMQ;~$O!"(Bpostbreakpenalty $B%W%m%Q%F%#$rFI$_=P$9!#(B
+% \begin{macrocode}
+\else\ifpxrr@in@luatexja
+ \def\pxrr@get@postbreakpenalty#1#2{%
+ #1=\ltjgetparameter{postbreakpenalty}{#2}\relax
+ }
+% \end{macrocode}
+%
+% $B$=$l0J30$N>l9g$O%<%m$H$7$F07$&!#(B
+% \begin{macrocode}
+\else
+ \def\pxrr@get@postbreakpenalty#1#2{%
+ #1=\z@
+ }
+\fi\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@check@punct@char}
+% |\pxrr@is@punct@char{|\jmeta{$BJ8;z%3!<%I(B}|}{|\jmeta{$BOBJ8%U%i%0(B}|}|\Means
+% $B;XDj$NJ8;z%3!<%I$NJ8;z$,!HLsJ*$G$"$k$+!I$rD4$Y$F!"(B
+% $B7k2L$r(B |\ifpxrr@ok| $B$KJV$9!#(B
+% \jmeta{$BOBJ8%U%i%0(B}$B$O!HBP>]$,(B{\pTeX}$B$NOBJ8$G$"$k!I>l9g$K(B1$B!"(B
+% $B$=$l0J30$O(B0$B!#(B
+%
+% {\pTeX}$B$N>l9g!"2$J8$J$i(B |\xspcode|$B!"OBJ8$J$i(B |\inhibitxspcode| $B$N(B
+% $BCM$r8+$F!"$=$l$,(B3$B0J30$J$iLsJ*$H8+$J$9!#(B
+% \begin{macrocode}
+\ifpxrr@in@ptex
+ \def\pxrr@check@punct@char#1#2{%
+ \pxrr@okfalse
+ \ifcase#2\relax
+ \ifnum\xspcode#1=\thr@@\else
+ \pxrr@oktrue
+ \fi
+ \else
+ \ifnum\inhibitxspcode#1=\thr@@\else
+ \pxrr@oktrue
+ \fi
+ \fi
+ }
+% \end{macrocode}
+%
+% \PKN{LuaTeX-ja}$B;HMQ;~$b4pK\E*$K(B{\pTeX}$B$HF1$8%m%8%C%/$r;H$&!#(B
+% $B$?$@$7(B\PKN{LuaTeX-ja}$B$G$O!VJ8;z%H!<%/%s$NOBJ8$H2$J8$N6hJL!W$H$$$&(B
+% $B35G0$,B8:_$7$J$$$?$a!"(B\jmeta{$BOBJ8%U%i%0(B}$B$OI,$:(B0$B$H$J$k!#(B
+% $B$=$7$F!"(B|\xspcode|$B!?(B|\inhibitxspcode| $B$KAjEv$9$k%Q%i%a%?$H$7$F$O!"(B
+% $B2$J8MQ$N(Balxspmode$B$HOBJ8MQ$N(Bjaxspmode$B$,0l1~$"$k$,!"(B
+% $B<B:]$K$OOBJ8$H2$J8$N6hJL$O$J$/$3$NN><T$OF15A$K$J$C$F$$$k!#(B
+% $B=>$C$F!"!V(Bjaxspmode$B$,(B3$B0J30$+!W$rD4$Y$k$3$H$K$9$k!#(B
+% \begin{macrocode}
+\else\ifpxrr@in@luatexja
+ \def\pxrr@check@punct@char#1#2{%
+ \ifnum\ltjgetparameter{jaxspmode}{#1}=\thr@@
+ \pxrr@okfalse
+ \else
+ \pxrr@oktrue
+ \fi
+ }
+% \end{macrocode}
+%
+% $B$=$l0J30$N>l9g$O%<%m$H$7$F07$&!#(B
+% \begin{macrocode}
+\else
+ \def\pxrr@check@punct@char#1#2{%
+ \pxrr@okfalse
+ }
+\fi\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@inhibitglue}
+% |\inhibitglue| $B$,Dj5A$5$l$F$$$k$J$i<B9T$9$k!#(B
+% \begin{macrocode}
+\ifx\inhibitglue\@undefined
+ \let\pxrr@inhibitglue\relax
+\else
+ \let\pxrr@inhibitglue\inhibitglue
+\fi
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{$B%Q%i%a%?@_Dj8x3+L?Na(B}
%
% \begin{macro}{\ifpxrr@in@setup}
@@ -3003,6 +3426,12 @@
\if g\pxrr@mode\else
\chardef\pxrr@evensp\@ne
\fi
+% \end{macrocode}
+% $B7wE@%k%SF1;~IU2C$N>l9g$ND4@0!#(B
+% \begin{macrocode}
+ \ifpxrr@combo
+ \pxrr@ck@check@option
+ \fi
}
% \end{macrocode}
% \end{macro}
@@ -3071,7 +3500,7 @@
% \begin{macrocode}
\def\pxrr@assign@fsize{%
\@tempdima=\f@size\p@
- \@tempdima\pxrr@size@ratio\@tempdima
+ \@tempdima\pxrr@c@size@ratio\@tempdima
\edef\pxrr@ruby@fsize{\the\@tempdima}%
\pxrr@get@zwidth\pxrr@body@zw
\begingroup
@@ -3099,7 +3528,7 @@
\advance\@tempdimb-\pxrr@htratio\@tempdimb
\advance\@tempdima\@tempdimb
\@tempdimb\pxrr@body@zw\relax
- \advance\@tempdima\pxrr@inter@gap\@tempdimb
+ \advance\@tempdima\pxrr@c@inter@gap\@tempdimb
\edef\pxrr@ruby@raise{\the\@tempdima}%
% \end{macrocode}
% |\pxrr@ruby@lower| $B$NCM$r7W;;$9$k!#(B
@@ -3110,8 +3539,14 @@
\@tempdimb\pxrr@htratio\@tempdimb
\advance\@tempdima\@tempdimb
\@tempdimb\pxrr@body@zw\relax
- \advance\@tempdima\pxrr@inter@gap\@tempdimb
+ \advance\@tempdima\pxrr@c@inter@gap\@tempdimb
\edef\pxrr@ruby@lower{\the\@tempdima}%
+% \end{macrocode}
+% $B7wE@%k%SF1;~IU2C$N@_Dj!#(B
+% \begin{macrocode}
+ \ifpxrr@combo
+ \pxrr@ck@assign@fsize
+ \fi
}
% \end{macrocode}
% \end{macro}
@@ -3123,7 +3558,7 @@
\pxrr@without@macro@trace{%
\let\rubyfontsize\pxrr@ruby@fsize
\fontsize{\pxrr@ruby@fsize}{\z@}\selectfont
- \pxrr@ruby@font
+ \pxrr@c@ruby@font
}%
}
% \end{macrocode}
@@ -3480,6 +3915,8 @@
% #4$B$O6u(B
\def\pxrr@compose@oneside@block@do#1#2#3#4{%
\setbox\pxrr@boxa\pxrr@hbox{#2}%
+ \edef\pxrr@ck@body@natwd{\the\wd\pxrr@boxa}%
+ \let\pxrr@ck@locate\pxrr@locate@inner
\setbox\pxrr@boxr\pxrr@hbox{%
\pxrr@use@ruby@font
#3%
@@ -3500,6 +3937,7 @@
\let\pxrr@locate@temp\pxrr@locate@head
\fi
\fi
+ \let\pxrr@ck@locate\pxrr@locate@temp
\pxrr@decompose{#2}%
\edef\pxrr@natwd{\the\wd\pxrr@boxa}%
\pxrr@evenspace@int\pxrr@locate@temp\pxrr@boxa\relax
@@ -3542,6 +3980,9 @@
\lower\pxrr@ruby@lower\box\pxrr@boxr
\fi
}%
+ \ifnum \ifpxrr@combo\pxrr@ck@ruby@combo\else\z@\fi >\z@
+ \pxrr@ck@compose{#2}%
+ \fi
\ht\z@\z@ \dp\z@\z@
\@tempdima\wd\z@
\setbox\pxrr@boxr\hbox{%
@@ -3572,6 +4013,8 @@
% |\pxrr@boxb| $B$K2<B&%k%S$N=PNO$rJ];}$9$k!#(B
% \begin{macrocode}
\setbox\pxrr@boxa\pxrr@hbox{#2}%
+ \edef\pxrr@ck@body@natwd{\the\wd\pxrr@boxa}%
+ \let\pxrr@ck@locate\pxrr@locate@inner
\setbox\pxrr@boxr\pxrr@hbox{%
\pxrr@use@ruby@font
#3%
@@ -3607,6 +4050,7 @@
\let\pxrr@locate@temp\pxrr@locate@head
\fi
\fi
+ \let\pxrr@ck@locate\pxrr@locate@temp
% \end{macrocode}
% $B>eB&$H2<B&$N$I$A$i$N%k%S$,D9$$$+$K1~$8$F0z?t$rJQ$($F!"(B
% |\pxrr@compose@twoside@block@sub| $B$r8F$S=P$9!#(B
@@ -3663,6 +4107,9 @@
\kern-\@tempdima
\lower\pxrr@ruby@lower\box\pxrr@boxb
}%
+ \ifnum \ifpxrr@combo\pxrr@ck@ruby@combo\else\z@\fi >\z@
+ \pxrr@ck@compose{#2}%
+ \fi
\ht\z@\z@ \dp\z@\z@
\@tempdima\wd\z@
\setbox\pxrr@boxr\hbox{%
@@ -3973,7 +4420,7 @@
\pxrr@check@kinsoku@c#1#1%
}
\def\pxrr@check@kinsoku@c#1{%
- \pxrr@get@prebreakpenalty\pxrr@cntr{#1}%
+ \pxrr@get@prebreakpenalty\pxrr@cntr{`#1}%
\pxrr@tempb
}
% \end{macrocode}
@@ -4392,6 +4839,29 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\pxrr@bind@param}
+% $B!H8F=P;~JQ?t!I$X$N%3%T!<$r9T$&!#(B
+% \begin{macrocode}
+\def\pxrr@bind@param{%
+% \end{macrocode}
+% $B7wE@%k%SF1;~IU2C%U%i%0$N=hM}!#(B
+% $B7wE@B&$,;XDj$7$?(B |apply@combo| $B$NCM$r!H8F=P;~%Q%i%a%?!I$N(B |pxrr@combo| $B$K(B
+% $B0\F0$5$;$k!#(B
+% \begin{macrocode}
+ \ifpxrr@apply@combo
+ \pxrr@apply@combofalse
+ \pxrr@combotrue
+ \pxrr@ck@bind@param
+ \else
+ \pxrr@combofalse
+ \fi
+ \let\pxrr@c@ruby@font\pxrr@ruby@font
+ \let\pxrr@c@size@ratio\pxrr@size@ratio
+ \let\pxrr@c@inter@gap\pxrr@inter@gap
+}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\pxrr@ruby@proc}
% |\pxrr@ruby@proc{|\jmeta{$B?FJ8;zNs(B}|}{|\jmeta{$B%k%SJ8;zNs(B}|}|\Means
% $B$3$l$,<jB3$NK\BN$H$J$k!#(B
@@ -4401,6 +4871,7 @@
% \end{macrocode}
% $B%U%)%s%H%5%$%:$NJQ?t$r@_Dj$7$F!"(B
% \begin{macrocode}
+ \pxrr@bind@param
\pxrr@assign@fsize
% \end{macrocode}
% $B%*%W%7%g%s$r2r@O$9$k!#(B
@@ -4471,6 +4942,7 @@
% \end{macrocode}
% $B%U%)%s%H%5%$%:$NJQ?t$r@_Dj$7$F!"(B
% \begin{macrocode}
+ \pxrr@bind@param
\pxrr@assign@fsize
% \end{macrocode}
% $B%*%W%7%g%s$r2r@O$9$k!#(B
@@ -5022,14 +5494,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\pxrr@zspace}
-% $BA43Q6uGrJ8;z!#(B
-% $BJ8;z$=$N$b$N$r%U%!%$%k$K4^$^$;$?$/$J$$$N$G(Bchardef$B$K$9$k!#(B
-% \begin{macrocode}
-\pxrr@jchardef\pxrr@zspace=\pxrr@jc{2121:3000}
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\pxrr@jprologue}
% $BOBJ8%k%SMQ$N3+;O=hM}!#(B
% \begin{macrocode}
@@ -5039,7 +5503,8 @@
% $B%4!<%9%HJ8;z!JA43Q6uGr!K$G$"$k$3$H$,4NMW$G$"$k!#(B
% \begin{macrocode}
\ifpxrr@jghost
- \pxrr@zspace
+ \pxrr@jghost@char
+ \pxrr@inhibitglue
\fi
% \end{macrocode}
% $B%k%S$N=hM}$NK\BN$OA4$F$3$N%0%k!<%W$NCf$G9T$o$l$k!#(B
@@ -5051,7 +5516,7 @@
% $B=PNO$7$?A43Q6uGr$NI}$@$1La$7$F$*$/!#(B
% \begin{macrocode}
\ifpxrr@jghost
- \setbox\pxrr@boxa\hbox{\pxrr@zspace}%
+ \setbox\pxrr@boxa\hbox{\pxrr@jghost@char}%
\kern-\wd\pxrr@boxa
\fi
}
@@ -5135,7 +5600,7 @@
% \begin{macrocode}
\def\pxrr@jepilogue{%
\ifpxrr@jghost
- \setbox\pxrr@boxa\hbox{\pxrr@zspace}%
+ \setbox\pxrr@boxa\hbox{\pxrr@jghost@char}%
\kern-\wd\pxrr@boxa
\fi
% \end{macrocode}
@@ -5143,7 +5608,8 @@
% \begin{macrocode}
\endgroup
\ifpxrr@jghost
- \pxrr@zspace
+ \pxrr@inhibitglue
+ \pxrr@jghost@char
\fi
}
% \end{macrocode}
@@ -5226,6 +5692,1580 @@
}
% \end{macrocode}
%
+%^^A------------------------------------
+% \section{$B<BAu!J7wE@4XO"!K(B}
+%
+% \subsection{$B%(%i!<%a%C%;!<%8(B}
+%
+% $B;XDj$NL>A0$N7wE@J8;z$,L$EPO?$N>l9g!#(B
+% \begin{macrocode}
+\def\pxrr@warn@na@kmark#1{%
+ \pxrr@warn{Unavailable kenten mark '#1'}%
+}
+% \end{macrocode}
+%
+% $B%Q%i%a%?@_DjL?Na$GL58z$JCM$,;XDj$5$l$?>l9g!#(B
+% \begin{macrocode}
+\def\pxrr@err@invalid@value#1{%
+ \pxrr@error{Invalid value '#1'}%
+ {\@eha}%
+}
+% \end{macrocode}
+%
+% \subsection{$B%Q%i%a%?(B}
+%
+% \subsubsection{$BA4HL@_Dj(B}
+%
+% \begin{macro}{\pxrr@k@ymark}
+% $B2#AH$N<g$N7wE@%^!<%/$N%3!<%I!#(B
+% \begin{macrocode}
+\let\pxrr@k@ymark\@undefined
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@ysmark}
+% $B2#AH$NI{$N7wE@%^!<%/$N%3!<%I!#(B
+% \begin{macrocode}
+\let\pxrr@k@ysmark\@undefined
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@tmark}
+% $B=DAH$N<g$N7wE@%^!<%/$N%3!<%I!#(B
+% \begin{macrocode}
+\let\pxrr@k@tmark\@undefined
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@tsmark}
+% $B=DAH$NI~$N7wE@%^!<%/$N%3!<%I!#(B
+% \begin{macrocode}
+\let\pxrr@k@tsmark\@undefined
+% \end{macrocode}
+% \end{macro}
+%
+% $B7wE@%^!<%/$N=i4|CM$N@_Dj!#(B
+% \begin{macrocode}
+\AtEndOfPackage{%
+ \pxrr@k@get@mark\pxrr@k@ymark{bullet*}%
+ \pxrr@k@get@mark\pxrr@k@ysmark{sesame*}%
+ \pxrr@k@get@mark\pxrr@k@tmark{sesame*}%
+ \pxrr@k@get@mark\pxrr@k@tsmark{bullet*}%
+}
+% \end{macrocode}
+%
+% \begin{macro}{\pxrr@k@ruby@font}
+% $B7wE@MQ%U%)%s%H@ZBXL?Na!#(B
+% \begin{macrocode}
+\let\pxrr@k@ruby@font\@empty
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@size@ratio}
+% $B7wE@J8;z%5%$%:!#(B
+% $B!J(B|\kentensizeratio|$B!K!#(B
+% $B<B?tCM%^%/%m!#(B
+% \begin{macrocode}
+\def\pxrr@k@size@ratio{0.5}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifpxrr@k@ghost}
+% $B%4!<%9%H=hM}$r9T$&$+!#(B
+% $B%9%$%C%A!#(B
+% \Note $B7wE@$G$OOBJ8%4!<%9%H=hM}$rI,$:9T$&!#(B
+% \begin{macrocode}
+\newif\ifpxrr@k@ghost \pxrr@k@ghosttrue
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@inter@gap}
+% $B7wE@$H?FJ8;z$N4V$N6u$-(B
+% $B!J(B|\kentenintergap|$B!K!#(B
+% $B<B?tCM%^%/%m!#(B
+% \begin{macrocode}
+\def\pxrr@k@inter@gap{0}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@ruby@inter@gap}
+% $B7wE@$H%k%S$N4V$N6u$-(B
+% $B!J(B|\kentenrubyintergap|$B!K!#(B
+% $B<B?tCM%^%/%m!#(B
+% \begin{macrocode}
+\def\pxrr@k@ruby@inter@gap{0}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@d@side}
+% $B7wE@$r?FJ8;z$N>e2<$N$I$A$i$KIU$9$+!#(B
+% 0 = $B>eB&!((B1 = $B2<B&!#(B
+% |\kentensetup| $B$N(B |P|$B!?(B|S| $B$N@_Dj!#(B
+% $B@0?tDj?t!#(B
+% \begin{macrocode}
+\chardef\pxrr@k@d@side=0
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@d@mark}
+% $B7wE@%^!<%/$N<oN`!#(B
+% 0 = $B<g!((B1 = $BI{!#(B
+% |\kentensetup| $B$N(B |p|$B!?(B|s| $B$N@_Dj!#(B
+% $B@0?tDj?t!#(B
+% \begin{macrocode}
+\chardef\pxrr@k@d@mark=0
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@ruby@combo}
+% $B%k%S$H7wE@$,F1;~$KE,MQ$5$l$?>l9g$N5sF0!#(B
+% 0 = $B%k%S$@$1=PNO!((B1 = $B%k%S$N>e$K7wE@!JF1;~IU2C!K!#(B
+% |\kentenrubycombination| $B$N@_DjCM$KBP1~$9$k!#(B
+% $B@0?tDj?t!#(B
+% \begin{macrocode}
+\chardef\pxrr@k@ruby@combo=1
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@d@full}
+% $BLsJ*$K$b7wE@$rIU2C$9$k$+!#(B
+% 0 = $BL58z!((B1 = $BM-8z!#(B
+% |\kentensetup| $B$N(B |f|$B!?(B|F| $B$N@_Dj!#(B
+% $B@0?tDj?t!#(B
+% \begin{macrocode}
+\chardef\pxrr@k@d@full=0
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{$B8F=P;~$N@_Dj(B}
+%
+% |\kenten| $B$N(B |P|$B!?(B|S| $B$N@_Dj$O!"(B|\pxrr@side| $B$r%k%S$H6&MQ$9$k!#(B
+%
+% \begin{macro}{\pxrr@k@mark}
+% $B7wE@%^!<%/$N<oN`!#(B
+% 0 = $B<g!((B1 = $BI{!#(B
+% |\kenten| $B$N(B |p|$B!?(B|s| $B$N@_Dj!#(B
+% $B@0?tDj?t!#(B
+% \begin{macrocode}
+\chardef\pxrr@k@mark=0
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@full}
+% $BLsJ*$K$b7wE@$rIU2C$9$k$+!#(B
+% 0 = $BL58z!((B1 = $BM-8z!#(B
+% |\kenten| $B$N(B |f|$B!?(B|F| $B$N@_Dj!#(B
+% $B@0?tDj?t!#(B
+% \begin{macrocode}
+\chardef\pxrr@k@full=0
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@the@mark}
+% $BE,MQ$5$l$k7wE@%^!<%/$NL?Na!#(B
+% \begin{macrocode}
+\let\pxrr@k@the@mark\relax
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{$BJd=u<jB3(B}
+%
+% \subsubsection{\cs{UTF}$BL?NaBP1~(B}
+%
+% \begin{macro}{\ifpxrr@avail@UTF}
+% |\UTF| $BL?Na$,MxMQ$G$-$k$+!#(B
+% $B%9%$%C%A!#(B
+% \begin{macrocode}
+\newif\ifpxrr@avail@UTF
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@decide@avail@UTF}
+% |\ifpxrr@avail@UTF| $B$NCM$r3NDj$5$;$k!#(B
+% \begin{macrocode}
+\def\pxrr@decide@avail@UTF{%
+ \global\let\pxrr@decide@avail@UTF\relax
+ \ifx\UTF\@undefined \global\pxrr@avail@UTFfalse
+ \else \global\pxrr@avail@UTFtrue
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{$B%j%9%HJ,2r(B}
+%
+% \begin{macro}{\pxrr@k@decompose}
+% |\pxrr@k@decompose{|\jmeta{$B%F%-%9%H(B}|}|\Means
+% $B%F%-%9%H!J7wE@L?Na$N0z?t!K$rJ,2r$7$?7k2L$N7wE@9`L\%j%9%H(B
+% $B$r(B |\pxrr@res| $B$KJV$9!#(B
+% \Note $B7wE@9`L\%j%9%H$N7A<0(B\Means\par
+% |\pxrr@entry|[|@XXX|]|{|\jmeta{$B0z?t(B}|}|$B!D!D(B
+% |\pxrr@entry|[|@XXX|]|{|\jmeta{$B0z?t(B}|}||\pxrr@post|
+% \begin{macrocode}
+\def\pxrr@k@decompose#1{%
+ \let\pxrr@res\@empty
+ \pxrr@cntr=\z@
+ \pxrr@k@decompose@loopa#1\pxrr@end
+}
+\def\pxrr@k@decompose@loopa{%
+ \futurelet\pxrr@token\pxrr@k@decompose@loopb
+}
+\def\pxrr@k@decompose@loopb{%
+ \pxrr@cond\ifx\pxrr@token\pxrr@end\fi{%
+ \pxrr@appto\pxrr@res{\pxrr@post}%
+ }{\pxrr@if@kspan@cmd\pxrr@token{%
+ \pxrr@k@decompose@special\pxrr@k@decompose@kspan
+ }{\pxrr@if@ruby@cmd\pxrr@token{%
+ \pxrr@k@decompose@special\pxrr@k@decompose@ruby
+ }{\pxrr@if@truby@cmd\pxrr@token{%
+ \pxrr@k@decompose@special\pxrr@k@decompose@truby
+ }{\pxrr@if@kenten@cmd\pxrr@token{%
+ \pxrr@k@decompose@special\pxrr@k@decompose@kenten
+ }{\pxrr@cond\ifx\pxrr@token\@sptoken\fi{%
+ \pxrr@k@decompose@loope
+ }{%
+ \pxrr@setok{\pxrr@ifx{\pxrr@token\bgroup}}%
+ \pxrr@k@decompose@loopc
+ }}}}}}%
+}
+\def\pxrr@k@decompose@loopc#1{%
+ \pxrr@appto\pxrr@res{\pxrr@entry}%
+ \ifpxrr@ok
+ \pxrr@appto\pxrr@res{{{#1}}}%
+ \else
+ \pxrr@appto\pxrr@res{{#1}}%
+ \fi
+ \pxrr@k@decompose@loopd
+}
+\def\pxrr@k@decompose@loopd{%
+ \advance\pxrr@cntr\@ne
+ \pxrr@k@decompose@loopa
+}
+\expandafter\def\expandafter\pxrr@k@decompose@loope\space{%
+ \pxrr@okfalse
+ \pxrr@k@decompose@loopc{ }%
+}
+\def\pxrr@k@decompose@special#1#2#{%
+ #1{#2}%
+}
+\def\pxrr@k@decompose@kspan#1#2{%
+ \pxrr@appto\pxrr@res{\pxrr@entry@kspan{#1{#2}}}%
+ \pxrr@k@decompose@loopd
+}
+\def\pxrr@k@decompose@ruby#1#2#3{%
+ \pxrr@appto\pxrr@res{\pxrr@entry@ruby{#1{#2}{#3}}}%
+ \pxrr@k@decompose@loopd
+}
+\def\pxrr@k@decompose@truby#1#2#3#4{%
+ \pxrr@appto\pxrr@res{\pxrr@entry@ruby{#1{#2}{#3}{#4}}}%
+ \pxrr@k@decompose@loopd
+}
+\def\pxrr@k@decompose@kenten#1#2{%
+ \pxrr@appto\pxrr@res{\pxrr@entry@kenten{#1{#2}}}%
+ \pxrr@k@decompose@loopd
+}
+\def\pxrr@cmd@ruby{\jruby}
+\def\pxrr@cmd@kenten{\jkenten}
+\def\pxrr@if@ruby@cmd#1{%
+ \if \ifcat\noexpand#1\relax
+ \ifx#1\pxrr@cmd@ruby T%
+ \else\ifx#1\jruby T%
+ \else\ifx#1\aruby T%
+ \else F%
+ \fi\fi\fi
+ \else F%
+ \fi T\expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
+ \fi
+}
+\def\pxrr@if@truby@cmd#1{%
+ \if \ifcat\noexpand#1\relax
+ \ifx#1\truby T%
+ \else\ifx#1\atruby T%
+ \else F%
+ \fi\fi
+ \else F%
+ \fi T\expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
+ \fi
+}
+\def\pxrr@if@kspan@cmd#1{%
+ \pxrr@cond\ifx#1\kspan\fi
+}
+\def\pxrr@if@kenten@cmd#1{%
+ \if \ifcat\noexpand#1\relax
+ \ifx#1\pxrr@cmd@kenten T%
+ \else\ifx#1\jkenten T%
+ \else F%
+ \fi\fi
+ \else F%
+ \fi T\expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{$B%Q%i%a%?@_Dj8x3+L?Na(B}
+%
+% \begin{macro}{\kentensetup}
+% |\pxrr@k@parse@option| $B$G2r@O$7$?8e!"@_DjCM$rA4HL@_Dj$K(B
+% $B%3%T!<$9$k!#(B
+% \begin{macrocode}
+\newcommand*\kentensetup[1]{%
+ \pxrr@in@setuptrue
+ \pxrr@fatal@errorfalse
+ \pxrr@k@parse@option{#1}%
+ \ifpxrr@fatal@error\else
+ \let\pxrr@k@d@side\pxrr@side
+ \let\pxrr@k@d@mark\pxrr@k@mark
+ \let\pxrr@k@d@full\pxrr@k@full
+ \fi
+% \end{macrocode}
+% |\ifpxrr@in@setup| $B$r56$KLa$9!#(B
+% $B$?$@$7(B |\ifpxrr@fatal@error| $B$O=q$-49$($i$l$?$^$^$G$"$k$3$H$KCm0U!#(B
+% \begin{macrocode}
+ \pxrr@in@setupfalse
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\kentenfontsetup}
+% $BBP1~$9$k%Q%i%a%?$r@_Dj$9$k!#(B
+% \begin{macrocode}
+\newcommand*\kentenfontsetup{}
+\def\kentenfontsetup#{%
+ \def\pxrr@k@ruby@font
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\kentensizeratio}
+% $BBP1~$9$k%Q%i%a%?$r@_Dj$9$k!#(B
+% \begin{macrocode}
+\newcommand*\kentensizeratio[1]{%
+ \edef\pxrr@k@size@ratio{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\kentenintergap}
+% $BBP1~$9$k%Q%i%a%?$r@_Dj$9$k!#(B
+% \begin{macrocode}
+\newcommand*\kentenintergap[1]{%
+ \edef\pxrr@k@inter@gap{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\kentenrubyintergap}
+% $BBP1~$9$k%Q%i%a%?$r@_Dj$9$k!#(B
+% \begin{macrocode}
+\newcommand*\kentenrubyintergap[1]{%
+ \edef\pxrr@k@ruby@inter@gap{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\kentenmarkinyoko}
+% \begin{macro}{\kentensubmarkinyoko}
+% \begin{macro}{\kentenmarkintate}
+% \begin{macro}{\kentensubmarkintate}
+% $BBP1~$9$k%Q%i%a%?$r@_Dj$9$k!#(B
+% \begin{macrocode}
+\newcommand*\kentenmarkinyoko[1]{%
+ \pxrr@k@get@mark\pxrr@k@ymark{#1}%
+}
+\newcommand*\kentensubmarkinyoko[1]{%
+ \pxrr@k@get@mark\pxrr@k@ysmark{#1}%
+}
+\newcommand*\kentenmarkintate[1]{%
+ \pxrr@k@get@mark\pxrr@k@tmark{#1}%
+}
+\newcommand*\kentensubmarkintate[1]{%
+ \pxrr@k@get@mark\pxrr@k@tsmark{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\kentenrubycombination}
+% $BBP1~$9$k%Q%i%a%?$r@_Dj$9$k!#(B
+% \begin{macrocode}
+\chardef\pxrr@k@ruby@combo@ruby=0
+\chardef\pxrr@k@ruby@combo@both=1
+\newcommand*\kentenrubycombination[1]{%
+ \pxrr@letcs\pxrr@tempa{pxrr@k@ruby@combo@#1}%
+ \ifx\pxrr@tempa\relax
+ \pxrr@err@invalid@value{#1}%
+ \else
+ \let\pxrr@k@ruby@combo\pxrr@tempa
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{$B7wE@J8;z(B}
+%
+% \begin{macro}{\pxrr@k@declare@mark}
+% |\pxrr@k@declare@mark{|\jmeta{$BL>A0(B}|}{|\jmeta{$BK\BN(B}|}|\Means
+% $B7wE@%^!<%/L?Na$rDj5A$9$k!#(B
+% \begin{macrocode}
+\def\pxrr@k@declare@mark#1{%
+ \global\@namedef{pxrr@k@mark@@#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@let@mark}
+% |\pxrr@k@declare@mark{|\jmeta{$BL>A0(B}|}\CS|\Means
+% $B7wE@%^!<%/L?Na$r(B |\let| $B$GDj5A$9$k!#(B
+% \begin{macrocode}
+\def\pxrr@k@let@mark#1{%
+ \global\pxrr@cslet{pxrr@k@mark@@#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@get@mark}
+% |\pxrr@k@get@mark\CS{|\jmeta{$BL>A0$^$?$ODj5AK\BN(B}|}|\Means
+% $B;XDj$N7wE@%^!<%/L?Na$r(B |\CS| $B$KBeF~$9$k!#(B
+% $BBh(B2$B0z?t$N@hF,%H!<%/%s$,(BASCII$B1Q;z$N>l9g$OL>A0$H8+$J$7!"(B
+% $B$=$l0J30$ODj5AK\BN$N%3!<%I$H8+$J$9!#(B
+% \begin{macrocode}
+\def\pxrr@k@get@mark#1#2{%
+ \futurelet\pxrr@token\pxrr@k@get@mark@a#2\pxrr@nil#1%
+}
+\def\pxrr@k@get@mark@a{%
+ \pxrr@cond\ifcat A\noexpand\pxrr@token\fi{%
+ \pxrr@k@get@mark@c
+ }{%else
+ \pxrr@k@get@mark@b
+ }%
+}
+\def\pxrr@k@get@mark@b#1\pxrr@nil#2{%
+ \def#2{#1}%
+}
+\def\pxrr@k@get@mark@c#1#2\pxrr@nil#3{%
+ \ifnum`#1<128
+ \pxrr@letcs\pxrr@tempa{pxrr@k@mark@@#1#2}%
+ \ifx\pxrr@tempa\relax
+ \pxrr@warn@na@kmark{#1#2}%
+ \else
+ \let#3\pxrr@tempa
+ \fi
+ \else
+ \pxrr@k@get@mark@b#1#2\pxrr@nil#3%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@declare@mark@char}
+% |\pxrr@k@declare@mark@char\CS{|\jmeta{$BFs=E%3!<%I(B}|}|\Means
+% $B;XDj$N%3!<%ICM$NJ8;z$N!JOBJ8!K(Bchardef$B$r(B |\CS| $B$KBeF~$9$k!#(B
+% $B$?$@$7(B{\pTeX}$B$G(BJIS$B$KL5$$J8;z(B
+% $B!JJX59E*$KOBJ86uGr$N(BJIS$B%3!<%ICM(B|2121|$B$GI=$9!K(B
+% $B$N>l9g$OBe$o$j$K(B |\pxrr@k@char@UTF| $B$rMxMQ$9$k!#(B
+% \begin{macrocode}
+\def\pxrr@k@declare@mark@char#1#2{%
+ \pxrr@k@declare@mark@char@a{#1}#2\pxrr@end
+}
+\def\pxrr@k@declare@mark@char@a#1#2:#3\pxrr@end{%
+ \pxrr@jchardef\pxrr@tempa\pxrr@jc{#2:#3}%
+ \ifnum\pxrr@tempa=\pxrr@zspace
+% \end{macrocode}
+% $B%(%s%8%s$,(B{\pTeX}$B$G$+$D(BJIS$B$KL5$$J8;z$G$"$k>l9g!#(B
+% \begin{macrocode}
+ \pxrr@k@declare@mark{#1}{\pxrr@k@char@UTF{#1}{#3}}%
+ \else
+ \pxrr@k@let@mark{#1}\pxrr@tempa
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@char@UTF}
+% |\pxrr@k@char@UTF{|\jmeta{$BL>A0(B}|}{|\jmeta{Unicode$BCM(B}|}|\Means
+% |\UTF{|\jmeta{Unicode$BCM(B}|}| $B$r<B9T$9$k$,!"(B
+% |\UTF| $B$,MxMQIT2D$N>l9g$O!"(B
+% $B!J:G=i$N(B1$B2s$@$1!K7Y9p$7$?>e$G2?$b=PNO$7$J$$!#(B
+% \begin{macrocode}
+\def\pxrr@k@char@UTF#1#2{%
+ \pxrr@decide@avail@UTF
+ \ifpxrr@avail@UTF
+ \pxrr@k@declare@mark{#1}{\UTF{#2}}%
+ \UTF{#2}%
+ \else
+ \pxrr@k@let@mark{#1}\@empty
+ \pxrr@warn@na@kmark{#1}%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% $BI8=`%5%]!<%H$N7wE@%^!<%/$NDj5A!#(B
+% \begin{macrocode}
+\pxrr@k@declare@mark@char{bullet} {2121:2022}
+\pxrr@k@declare@mark@char{triangle}{2225:25B2}
+\pxrr@k@declare@mark@char{Triangle}{2224:25B3}
+\pxrr@k@declare@mark@char{fisheye} {2121:25C9}
+\pxrr@k@declare@mark@char{Circle} {217B:25CB}
+\pxrr@k@declare@mark@char{bullseye}{217D:25CE}
+\pxrr@k@declare@mark@char{circle} {217C:25CF}
+\pxrr@k@declare@mark@char{Bullet} {2121:25E6}
+\pxrr@k@declare@mark@char{sesame} {2121:FE45}
+\pxrr@k@declare@mark@char{Sesame} {2121:FE46}
+\pxrr@jchardef\pxrr@ja@dot=\pxrr@jc{2126:30FB}
+\pxrr@jchardef\pxrr@ja@comma=\pxrr@jc{2122:3001}
+\pxrr@k@declare@mark{bullet*}{%
+ \pxrr@dima=\pxrr@ruby@zw\relax
+ \hb@xt@\pxrr@dima{%
+ \kern-.5\pxrr@dima
+ \pxrr@if@in@tate{}{\lower.38\pxrr@dima}%
+ \hbox{%
+ \pxrr@dima=\f@size\p@
+ \fontsize{2\pxrr@dima}{\z@}\selectfont
+ \pxrr@ja@dot
+ }%
+ \hss
+ }%
+}
+\pxrr@k@declare@mark{sesame*}{%
+ \pxrr@dima=\pxrr@ruby@zw\relax
+ \hb@xt@\pxrr@dima{%
+ \pxrr@if@in@tate{\kern.1\pxrr@dima}{\kern.05\pxrr@dima}%
+ \pxrr@if@in@tate{\lower.85\pxrr@dima}{\raise.3\pxrr@dima}%
+ \hbox{%
+ \pxrr@dima=\f@size\p@
+ \fontsize{2.4\pxrr@dima}{\z@}\selectfont
+ \pxrr@ja@comma
+ }%
+ \hss
+ }%
+}
+% \end{macrocode}
+%
+% \subsection{$B7wE@%*%W%7%g%s2r@O(B}
+%
+% \begin{macro}{\pxrr@k@parse@option}
+% |\pxrr@k@parse@option{|\jmeta{$B%*%W%7%g%s(B}|}|\Means
+% \jmeta{$B%*%W%7%g%s(B}$B$r2r@O$7!"(B
+% |\pxrr@side| $B$d(B |\pxrr@k@mark| $BEy$N%Q%i%a%?$r@_Dj$9$k!#(B
+% \begin{macrocode}
+\def\pxrr@k@parse@option#1{%
+ \edef\pxrr@tempa{#1}%
+ \let\pxrr@side\pxrr@k@d@side
+ \let\pxrr@k@mark\pxrr@k@d@mark
+ \let\pxrr@k@full\pxrr@k@d@full
+ \expandafter\pxrr@k@parse@option@loop\pxrr@tempa @\pxrr@end
+}
+\def\pxrr@k@parse@option@loop#1{%
+% \end{macrocode}
+% $B7wE@%*%W%7%g%s$N2r@O4o$O!HM-8B>uBV!I$r;}$?$J$$$N$G(B
+% $BHs>o$KC1=c$G$"$k!#(B
+% \begin{macrocode}
+ \pxrr@letcs\pxrr@tempa{pxrr@k@po@PR@#1}%
+ \pxrr@cond\ifx\pxrr@tempa\relax\fi{%
+ \pxrr@fatal@knx@letter{#1}%
+ \pxrr@k@parse@option@exit
+ }{%
+ \pxrr@tempa
+ \pxrr@k@parse@option@loop
+ }%
+}
+\def\pxrr@k@parse@option@exit#1\pxrr@end{%
+ \ifpxrr@in@setup\else
+ \pxrr@k@check@option
+% \end{macrocode}
+% $B$3$3$G(B |\pxrr@k@the@mark| $B$rE,@Z$KDj5A$9$k!#(B
+% \begin{macrocode}
+ \pxrr@if@in@tate{%
+ \ifcase\pxrr@k@mark \let\pxrr@k@the@mark\pxrr@k@tmark
+ \or \let\pxrr@k@the@mark\pxrr@k@tsmark
+ \fi
+ }{%
+ \ifcase\pxrr@k@mark \let\pxrr@k@the@mark\pxrr@k@ymark
+ \or \let\pxrr@k@the@mark\pxrr@k@ysmark
+ \fi
+ }%
+ \fi
+}
+\def\pxrr@k@po@PR@@{%
+ \pxrr@k@parse@option@exit
+}
+\def\pxrr@k@po@PR@P{%
+ \chardef\pxrr@side\z@
+}
+\def\pxrr@k@po@PR@S{%
+ \chardef\pxrr@side\@ne
+}
+\def\pxrr@k@po@PR@p{%
+ \chardef\pxrr@k@mark\z@
+}
+\def\pxrr@k@po@PR@s{%
+ \chardef\pxrr@k@mark\@ne
+}
+\def\pxrr@k@po@PR@F{%
+ \chardef\pxrr@k@full\z@
+}
+\def\pxrr@k@po@PR@f{%
+ \chardef\pxrr@k@full\@ne
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{$B%*%W%7%g%s@09g@-8!::(B}
+%
+% $B:#$N$H$3$m8!::$9$Y$-E@$,$J$$!#(B
+% \begin{macrocode}
+\def\pxrr@k@check@option{%
+}
+% \end{macrocode}
+%
+% \subsection{$B%V%m%C%/Kh$NAHHG(B}
+%
+% \begin{macro}{\pxrr@k@compose@block}
+% |\pxrr@k@compose@block{|\jmeta{$B?FJ8;z%V%m%C%/(B}|}|^^A
+% |{|\jmeta{$B7wE@$N8D?t(B}|}|\Means
+% 1$B$D$N%V%m%C%/$NAHHG=hM}!#(B
+% $B%\%C%/%9(B |\pxrr@boxb| $B$K7wE@(B1$B$D$rAHHG$7$?$b$N$,F~$C$F$$$k(B
+% $BI,MW$,$"$k!#(B
+% $B$J$*!"7wE@$O%<%mI}$KDY$7$?7A$G07$&A0Ds$N$?$a!"(B
+% |\pxrr@boxb| $B$NI}$O%<%m$G$J$$$H$$$1$J$$!#(B
+%
+% $B4pK\E*$K!"%k%SMQ$N(B |\pxrr@compose@oneside@block| $B$rHs>o$K4JN,2=(B
+% $B$7$?=hM}$K$J$C$F$$$k!#(B
+% \begin{macrocode}
+\def\pxrr@k@compose@block#1#2{%
+ \setbox\pxrr@boxa\pxrr@hbox{#1}%
+% \end{macrocode}
+% |\pxrr@evenspace@int| $B$r;H$&$?$a$KDTjm$r9g$o$;$k!#(B
+% $B$9$J$o$A!"(B|\copy\pxrr@boxb| $B$r7wE@8D?tJ,$@$1H?I|$7$?(B
+% $B%j%9%H$r(B |\pxrr@res| $B$KF~$l$F!"!H7wE@$N<+A3D9!I$K(B
+% $BEv$?$k(B |\pxrr@natwd| $B$r%<%m$H$9$k!#(B
+% \begin{macrocode}
+ \pxrr@k@make@rep@list{\copy\pxrr@boxb}{#2}%
+ \let\pxrr@natwd\pxrr@zeropt
+ \pxrr@evenspace@int\pxrr@locate@inner\pxrr@boxr
+ \relax{\wd\pxrr@boxa}%
+ \setbox\z@\hbox{%
+ \ifnum\pxrr@side=\z@
+ \raise\pxrr@ruby@raise\box\pxrr@boxr
+ \else
+ \lower\pxrr@ruby@lower\box\pxrr@boxr
+ \fi
+ }%
+ \ht\z@\z@ \dp\z@\z@
+ \@tempdima\wd\z@
+ \setbox\pxrr@boxr\hbox{%
+ \box\z@
+ \kern-\@tempdima
+ \box\pxrr@boxa
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@make@rep@list}
+% |\pxrr@k@make@rep@list{|\jmeta{$BMWAG(B}|}{|\jmeta{$B2s?t(B}|}|\Means
+% $BMWAG$r;XDj$N2s?t$@$1H?I|$7$?%j%9%H$r(B |\pxrr@res| $B$KBeF~$9$k!#(B
+% \begin{macrocode}
+\def\pxrr@k@make@rep@list#1#2{%
+ \def\pxrr@res{\pxrr@pre{#1}}%
+ \pxrr@cntr=#2\relax
+ \ifnum\pxrr@cntr>\@ne
+ \@tempcnta\pxrr@cntr \advance\@tempcnta\m@ne
+ \@whilenum{\@tempcnta>\z@}\do{%
+ \pxrr@appto\pxrr@res{\pxrr@inter{#1}}%
+ \advance\@tempcnta\m@ne
+ }%
+ \fi
+ \pxrr@appto\pxrr@res{\pxrr@post}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{$B7wE@9`L\(B}
+%
+% \begin{itemize}
+% \item $B7wE@9`L\%j%9%H(B\Means
+% $B%F%-%9%H$r(B |\pxrr@k@decompose| $B$GJ,2r$7$?7k2L$N%j%9%H!#(B
+% \item $B7wE@9`L\(B\Means
+% $B7wE@%j%9%H$K4^$^$l$k(B |\pxrr@entry|[|@XXX|]|{...}| $B$H$$$&7A<0$N$3$H!#(B
+% $B7wE@9`L\$OD>@\$K<B9T$9$k!J=PNO$9$k!K$3$H$,$G$-$k!#(B
+% \item $B7wE@%V%m%C%/(B\Means
+% $B0l$D$N!TJ8;z!U$K7wE@$rIU2C$7$F=PNO$7$?$b$N!#(B
+% \item $B;2>HJ8;z%3!<%I(B\Means
+% $B7wE@9`L\$N=PNO$NA08e$N6XB'%Z%J%k%F%#$N07$$$K$*$$$F!"(B
+% $B!V$"$kJ8;z$HF1Ey!W$H07$&>l9g$N!"$=$NJ8;z$NJ8;z%3!<%I!#(B
+% \end{itemize}
+%
+% $B"(8=>u$G$O!"$^$:(B |\pxrr@kenten@entry@XXX| $B$H$$$&%^%/%m$rDj5A$7$F(B
+% $B7wE@L?Na$N<B9T;~$K$=$l$r(B |\pxrr@entry@XXX| $B$K%3%T!<$9$k!"$H$$$&(B
+% $B<jB3$-$r:N$C$F$$$k!#(B
+% $B!J$?$@$=$&$9$k0UL#$,A4$/L5$$5$$,$9$k!#!K(B
+%
+% \begin{macro}{\ifpxrr@k@first@entry}
+% $B@hF,$N9`L\$G$"$k$+!#(B
+% \begin{macrocode}
+\newif\ifpxrr@k@first@entry
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifpxrr@k@last@entry}
+% $BKvHx$N9`L\$G$"$k$+!#(B
+% \begin{macrocode}
+\newif\ifpxrr@k@last@entry
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifpxrr@k@prev@is@block}
+% $BD>A0$N9`L\$N7k2L$,7wE@%V%m%C%/$G$"$C$?$+!#(B
+% \begin{macrocode}
+\newif\ifpxrr@k@prev@is@block
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@accum@res}
+% $BN_@Q$ND>@\=PNO!#(B
+% \begin{macrocode}
+\let\pxrr@k@accum@res\relax
+% \end{macrocode}
+% \end{macro}
+%
+% $B0J2<$N(B3$B$D$NJQ?t$O!H9`L\$N2<@A$1%^%/%m!I$,CM$rJV$9$Y$-$b$N!#(B
+% $B$3$l$i$K2C$($F!"(B|\pxrr@res| $B$H(B |\pxrr@boxr| $B$N0lJ}$K(B
+% $B!JAHHG$N!K7k2L$rJV$9I,MW$,$"$k!#(B
+%
+% \begin{macro}{\pxrr@k@prebreakpenalty}
+% $B7wE@9`L\$NA06XB'%Z%J%k%F%#!#(B
+% \begin{macrocode}
+\mathchardef\pxrr@k@prebreakpenalty\z@
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@postbreakpenalty}
+% $B7wE@9`L\$N8e6XB'%Z%J%k%F%#!#(B
+% \begin{macrocode}
+\mathchardef\pxrr@k@postbreakpenalty\z@
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@entry@res@type}
+% $B9`L\$N=PNO$N%?%$%W!#(B
+% 0=$BD>@\=PNO!((B1=$B%\%C%/%9=PNO!((B2=$B7wE@%V%m%C%/!#(B
+% 0$B$N>l9g!"=PNO$O(B |\pxrr@res| $B$K$"$j!"$=$l0J30$O!"(B
+% $B=PNO$O(B |\pxrr@boxr| $B$K$"$k!#(B
+% \begin{macrocode}
+\chardef\pxrr@k@entry@res@type\z@
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@list@pre}
+% $B7wE@9`L\%j%9%H$N=PNO$N3+;O;~$K9T$&=hM}!#(B
+% \begin{macrocode}
+\def\pxrr@k@list@pre{%
+ \pxrr@k@first@entrytrue
+ \pxrr@k@last@entryfalse
+ \pxrr@k@prev@is@blockfalse
+ \let\pxrr@k@accum@res\@empty
+ \chardef\pxrr@k@block@seq@state\z@
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@entry@with}
+% $BJd=u%^%/%m!#(B
+% $B3F<o7wE@9`L\$N6&DL$N=hM}$r9T$&!#(B
+% \Note |#1| $B$O3F7wE@9`L\L?Na$N2<@A$1$N%^%/%m$G!"(B|#2| $B$O(B
+% $B7wE@9`L\$N0z?t!#(B
+% \begin{macrocode}
+\def\pxrr@k@entry@with#1#2{%
+ \pxrr@if@last{%
+ \pxrr@k@last@entrytrue
+ \pxrr@k@entry@with@a#1{#2}%
+ }{%
+ \pxrr@k@entry@with@a#1{#2}%
+ }%
+}
+\def\pxrr@k@entry@with@a#1#2{%
+ \mathchardef\pxrr@k@prebreakpenalty\z@
+ \mathchardef\pxrr@k@postbreakpenalty\z@
+% \end{macrocode}
+% $B2<@A$1%^%/%m$r<B9T$7$F7k2L$rF@$k!#(B
+% \begin{macrocode}
+ #1{#2}%
+%\typeout{%
+%first=\meaning\ifpxrr@k@first@entry^^J%
+%last=\meaning\ifpxrr@k@last@entry^^J%
+%prev=\meaning\ifpxrr@k@prev@is@block^^J%
+%res=\meaning\pxrr@res^^J%
+%type=\meaning\pxrr@k@entry@res@type^^J%
+%prepen=\the\pxrr@k@prebreakpenalty^^J%
+%postpen=\the\pxrr@k@postbreakpenalty}%
+% \end{macrocode}
+% $BN_@QD>@\=PNO$N=hM}!#(B
+% \begin{macrocode}
+ \ifnum\pxrr@k@entry@res@type=\z@
+ \expandafter\pxrr@appto\expandafter\pxrr@k@accum@res
+ \expandafter{\pxrr@res}%
+ \else
+ \pxrr@k@accum@res
+ \let\pxrr@k@accum@res\@empty
+ \fi
+% \end{macrocode}
+% $BA06XB'%Z%J%k%F%#$rF~$l$k!#(B
+% \begin{macrocode}
+ \ifnum\pxrr@k@prebreakpenalty>\z@
+ \@tempcntb\lastpenalty \unpenalty
+ \advance\@tempcntb\pxrr@k@prebreakpenalty
+ \penalty\@tempcntb
+ \fi
+% \end{macrocode}
+% $B7wE@%V%m%C%/$,O"B3$9$k>l9g$OOBJ84V6uGr$rF~$l$k!#(B
+% \begin{macrocode}
+ \ifnum\pxrr@k@entry@res@type=\tw@
+ \ifpxrr@k@prev@is@block
+ \pxrr@inter@mono
+ \fi
+ \pxrr@k@prev@is@blocktrue
+ \else
+ \pxrr@k@prev@is@blockfalse
+ \fi
+% \end{macrocode}
+% $B%\%C%/%9$N7k2L$r<B:]$K=PNO$9$k!#(B
+% \begin{macrocode}
+ \ifnum\pxrr@k@entry@res@type>\z@
+ \unhbox\pxrr@boxr
+ \fi
+% \end{macrocode}
+% $B8e6XB'%Z%J%k%F%#$rF~$l$k!#(B
+% \begin{macrocode}
+ \ifnum\pxrr@k@postbreakpenalty>\z@
+ \penalty\pxrr@k@postbreakpenalty
+ \fi
+% \end{macrocode}
+% $B<!$N9`L\$K?J$`!#(B
+% \begin{macrocode}
+ \pxrr@k@first@entryfalse
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@list@post}
+% $B7wE@9`L\%j%9%H$N=PNO$N:G8e$K9T$&=hM}!#(B
+% \begin{macrocode}
+\def\pxrr@k@list@post{%
+ \pxrr@k@accum@res
+ \let\pxrr@k@accum@res\@empty
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@kenten@entry}
+% $B0lHL$N!TJ8;z!U$rI=$97wE@9`L\(B |\pxrr@entry{|\jmeta{$BJ8;z(B}|}| $B$N=hM}!#(B
+% $B7wE@$r(B1$B$DIU$1$F=PNO$9$k!#(B
+% \begin{macrocode}
+\def\pxrr@kenten@entry{%
+ \pxrr@k@entry@with\pxrr@kenten@entry@
+}
+\def\pxrr@kenten@entry@#1{%
+ \pxrr@k@check@char{#1}%
+ \ifpxrr@ok
+ \pxrr@k@compose@block{#1}\@ne
+ \chardef\pxrr@k@entry@res@type=\tw@
+ \else
+ \def\pxrr@res{#1}%
+ \chardef\pxrr@k@entry@res@type=\z@
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@kenten@entry@kspan}
+% |\kspan| $BL?Na$rI=$97wE@9`L\(B\
+% |\pxrr@entry@kspan{\kspan{|\jmeta{$B%F%-%9%H(B}|}}| $B$N=hM}!#(B
+% $B%F%-%9%H$NI}$,!H$*$h$=(B$n$$BA43Q!I$G$"$k>l9g$K!"(B
+% $n$$B8D$N7wE@$r%k%S6QEy3d$j$GG[CV$7$F=PNO$9$k!#(B
+% \begin{macrocode}
+\def\pxrr@kenten@entry@kspan{%
+ \pxrr@k@entry@with\pxrr@kenten@entry@kspan@
+}
+\def\pxrr@kenten@entry@kspan@#1{%
+ \pxrr@kenten@entry@kspan@a#1%
+}
+\def\pxrr@kenten@entry@kspan@a#1{%
+% \end{macrocode}
+% |\kspan|$B!J(B=\,|#1|$B!K$,(B |*| $BIU$+$rD4$Y$k!#(B
+% \begin{macrocode}
+ \@ifstar{%
+ \@testopt\pxrr@kenten@entry@kspan@c{}%
+ }{%
+ \@testopt\pxrr@kenten@entry@kspan@b{}%
+ }%
+}
+\def\pxrr@kenten@entry@kspan@b[#1]#2{%
+% \end{macrocode}
+% ($n-1/4$)zw$B0J>e(B($n+3/4$)zw$BL$K~$N;~$K!H$*$h$=(B$n$$BA43Q!I$H8+$J$9!#(B
+% \begin{macrocode}
+ \setbox\z@\pxrr@hbox{#2}%
+ \@tempdima\pxrr@body@zw\relax
+ \@tempdimb\wd\z@ \advance\@tempdimb.25\@tempdima
+ \divide\@tempdimb\@tempdima
+ \edef\pxrr@kenten@entry@tempa{\number\@tempdimb}%
+ \pxrr@k@compose@block{#2}\pxrr@kenten@entry@tempa
+ \chardef\pxrr@k@entry@res@type=\tw@
+}
+\def\pxrr@kenten@entry@kspan@c[#1]#2{%
+% \end{macrocode}
+% |\kspan*| $B$H$J$C$F$$$k>l9g!#(B
+% $B$3$N;~$O7wE@$rIU2C$;$:D>@\=PNO$9$k!#(B
+% \begin{macrocode}
+ \def\pxrr@res{#2}%
+ \chardef\pxrr@k@entry@res@type=\z@
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@kenten@entry@kenten}
+% $B%M%9%H$7$?(B |\kenten| $BL?Na$N7wE@9`L\!#(B
+% $BC1=c$K$=$N(B |\kenten| $B$r<B9T$7$?$b$N$r=PNO$H$9$k!#(B
+% $B$9$J$o$A!"FbB&$N7wE@$N@_Dj$N$_$,@8$-$k!#(B
+% \begin{macrocode}
+\def\pxrr@kenten@entry@kenten{%
+ \pxrr@k@entry@with\pxrr@kenten@entry@kenten@
+}
+\def\pxrr@kenten@entry@kenten@#1{%
+% \end{macrocode}
+% $B$3$N>l9g$O7wE@%V%m%C%/$H$O8+$J$5$J$$$3$H$KCm0U!#(B
+% \begin{macrocode}
+ \setbox\pxrr@boxr\hbox{#1}%
+ \chardef\pxrr@k@entry@res@type=\@ne
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@kenten@entry@ruby}
+% $B%k%SL?Na$N7wE@9`L\!#(B
+% \begin{macrocode}
+\def\pxrr@kenten@entry@ruby{%
+ \pxrr@k@entry@with\pxrr@kenten@entry@ruby@
+}
+\def\pxrr@kenten@entry@ruby@#1{%
+ \pxrr@apply@combotrue
+ \setbox\pxrr@boxr\hbox{#1}%
+ \chardef\pxrr@k@entry@res@type=\@ne
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{\cs{kspan}$BL?Na(B}
+%
+% \begin{macro}{\kspan}
+% $B%F%-%9%H$NI}$KAj1~$7$?8D?t$N7wE@$rIU$1$kL?Na!#(B
+% |\kenten| $B$N0z?t$N%F%-%9%H$NCf$G;H$&!#(B
+%
+% |\kenten| $B$N30$G;H$o$l$?>l9g$OC1=c$K0z?t$r=PNO$9$k$@$1!#(B
+%
+% \Note $B=hM}$NET9g>e!"%*%W%7%g%s0z?t$r;}$?$;$F$$$k$,!"(B
+% $B<B:]$K$O!J8=:_$O!K$3$l$O;H$o$l$J$$!#(B
+% \begin{macrocode}
+\newcommand*\kspan{%
+ \@ifstar{%
+ \@testopt\pxrr@kspan@a{}%
+ }{%
+ \@testopt\pxrr@kspan@a{}%
+ }%
+}
+\pxrr@add@protect\kspan
+\def\pxrr@kspan@a[#1]#2{%
+ \begingroup
+ #2%
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{$B<+F0M^;_$N8!::(B}
+%
+% \begin{macro}{\pxrr@k@check@char}
+% $BDL>o9`L\!J(B|\pxrr@entry|$B!K$N0z?t$r8!::$7$F!"(B
+% $B7wE@$rIU2C$9$Y$-$+H]$+$r%9%$%C%A(B |pxrr@ok| $B$KJV$9!#(B
+% $B$^$?!"9`L\$NA06XB'!&8e6XB'%Z%J%k%F%#$r@_Dj$9$k!#(B
+%
+% $B0z?t$,!JC10l$N!KDL>oJ8;z$G$"$k;~$O$=$NJ8;z!"(B
+% $B0z?t$,%0%k!<%W$N>l9g$OOBJ86uGr$NFbItJ8;z%3!<%I$r(B |\pxrr@cntr| $B$K(B
+% $BJV$9!J6XB'%Z%J%k%F%#$r8e$G8+$i$l$k$h$&$K!K!#(B
+% \begin{macrocode}
+\def\pxrr@k@check@char#1{%
+ \futurelet\pxrr@token\pxrr@k@check@char@a#1\pxrr@end
+}
+\def\pxrr@k@check@char@a#1\pxrr@end{%
+ \pxrr@cond\ifx\pxrr@token\bgroup\fi{%
+% \end{macrocode}
+% $B%0%k!<%W$K$O7wE@$rIU$1$k!#(B
+% \begin{macrocode}
+ \pxrr@oktrue
+ }{\pxrr@cond\ifx\pxrr@token\@sptoken\fi{%
+% \end{macrocode}
+% $B2$J86uGr$K$O7wE@$rIU$1$J$$!#(B
+% \begin{macrocode}
+ \pxrr@okfalse
+ }{%
+ \pxrr@check@char\pxrr@token
+ \ifcase\pxrr@cntr
+% \end{macrocode}
+% $BDL>oJ8;z$G$J$$$N$G7wE@$rIU$1$J$$!#(B
+% \begin{macrocode}
+ \pxrr@okfalse
+ \or
+% \end{macrocode}
+% $B2$J8$NDL>oJ8;z!#7wE@$rIU$1$k!#(B
+% \begin{macrocode}
+ \pxrr@oktrue
+ \chardef\pxrr@check@char@temp\z@
+ \or
+% \end{macrocode}
+% $BOBJ8$NDL>oJ8;z!#7wE@$rIU$1$k!#(B
+% \begin{macrocode}
+ \pxrr@oktrue
+ \chardef\pxrr@check@char@temp\@ne
+ \fi
+% \end{macrocode}
+% $BLsJ*$N7wE@IU2C$,L58z$N>l9g$O!"0z?t$NJ8;z$,LsJ*$G$"$k$+8!::$7!"(B
+% $B$=$&$G$"$k>l9g$O7wE@$rIU$1$J$$!#(B
+% \begin{macrocode}
+ \ifnum\pxrr@k@full=\z@\ifpxrr@ok
+ \pxrr@check@punct@char{`#1}\pxrr@check@char@temp
+ \ifpxrr@ok \pxrr@okfalse
+ \else \pxrr@oktrue
+ \fi
+ \fi\fi
+ \ifpxrr@ok
+ \pxrr@get@prebreakpenalty\@tempcnta{`#1}%
+ \mathchardef\pxrr@k@prebreakpenalty\@tempcnta
+ \pxrr@get@postbreakpenalty\@tempcnta{`#1}%
+ \mathchardef\pxrr@k@postbreakpenalty\@tempcnta
+ \fi
+ }}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{$B%a%$%s$G$9(B}
+%
+% \subsubsection{$B%(%s%H%j!<%]%$%s%H(B}
+%
+% \begin{macro}{\kenten}
+% \begin{macro}{\jkenten}
+% $B7wE@$N8x3+L?Na!#(B
+% |\jkenten| $B$r4h6/$JL?Na$H$7$FDj5A$7$?>e$G!"(B|\kenten| $B$O$=$l$K(B
+% $BE83+$5$l$k%^%/%m$K!JL$Dj5A$J$i$P!KDj5A$9$k!#(B
+% \begin{macrocode}
+\AtBeginDocument{%
+ \providecommand*{\kenten}{\jkenten}%
+}
+\newcommand*{\jkenten}{%
+ \pxrr@k@prologue
+ \pxrr@kenten
+}
+\pxrr@add@protect\jkenten
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@kenten}
+% $B%*%W%7%g%s$N=hM}$r9T$&!#(B
+% \begin{macrocode}
+\def\pxrr@kenten{%
+ \@testopt\pxrr@kenten@a{}%
+}
+\def\pxrr@kenten@a[#1]{%
+ \def\pxrr@option{#1}%
+ \ifpxrr@safe@mode
+% \end{macrocode}
+% $B0BA4%b!<%I$G$O7wE@5!G=$OL58z$J$N$G!"%U%)!<%k%P%C%/$H$7$F(B
+% $B0z?t$N%F%-%9%H$r$=$N$^$^=PNO$9$k!#(B
+% \begin{macrocode}
+ \expandafter\@firstofone
+ \else
+ \expandafter\pxrr@kenten@proc
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@k@bind@param}
+% $B!H8F=P;~JQ?t!I$X$N%3%T!<$r9T$&!#(B
+% \begin{macrocode}
+\def\pxrr@k@bind@param{%
+ \let\pxrr@c@ruby@font\pxrr@k@ruby@font
+ \let\pxrr@c@size@ratio\pxrr@k@size@ratio
+ \let\pxrr@c@inter@gap\pxrr@k@inter@gap
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@kenten@proc}
+% |\pxrr@kenten@proc{|\jmeta{$B?FJ8;zNs(B}|}|\Means
+% $B$3$l$,<jB3$NK\BN$H$J$k!#(B
+% \begin{macrocode}
+\def\pxrr@kenten@proc#1{%
+ \pxrr@prepare@fallback{#1}%
+ \pxrr@k@bind@param
+ \pxrr@assign@fsize
+ \pxrr@k@parse@option\pxrr@option
+ \pxrr@if@alive{%
+ \pxrr@k@decompose{#1}%
+ \let\pxrr@body@list\pxrr@res
+ \pxrr@kenten@main
+ }%
+ \pxrr@kenten@exit
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{$BAHHG=hM}(B}
+%
+% \begin{macro}{\pxrr@kenten@main}
+% $B7wE@$NAHHG=hM}!#(B
+% \begin{macrocode}
+\def\pxrr@kenten@main{%
+ \setbox\pxrr@boxb\pxrr@hbox@to\z@{%
+ \pxrr@use@ruby@font
+ \hss\pxrr@k@the@mark\hss
+ }%
+ \let\pxrr@entry\pxrr@kenten@entry
+ \let\pxrr@entry@kspan\pxrr@kenten@entry@kspan
+ \let\pxrr@entry@ruby\pxrr@kenten@entry@ruby
+ \let\pxrr@entry@kenten\pxrr@kenten@entry@kenten
+ \let\pxrr@post\pxrr@k@list@post
+ \pxrr@k@list@pre
+ \pxrr@body@list
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{$BA0=hM}(B}
+%
+% \begin{macro}{\pxrr@jprologue}
+% $B7wE@MQ$N3+;O=hM}!#(B
+% \begin{macrocode}
+\def\pxrr@k@prologue{%
+ \ifpxrr@k@ghost
+ \pxrr@jghost@char
+ \pxrr@inhibitglue
+ \fi
+ \begingroup
+ \ifpxrr@k@ghost
+ \setbox\pxrr@boxa\hbox{\pxrr@jghost@char}%
+ \kern-\wd\pxrr@boxa
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{$B8e=hM}(B}
+%
+% \begin{macro}{\pxrr@kenten@exit}
+% $B=PNO$r=*$($F!":G8e$K8F$P$l$k%^%/%m!#(B
+% \begin{macrocode}
+\def\pxrr@kenten@exit{%
+ \ifpxrr@fatal@error
+ \pxrr@fallback
+ \fi
+ \pxrr@k@epilogue
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@jepilogue}
+% $B=*N;=hM}!#(B
+% \begin{macrocode}
+\def\pxrr@k@epilogue{%
+ \ifpxrr@k@ghost
+ \setbox\pxrr@boxa\hbox{\pxrr@jghost@char}%
+ \kern-\wd\pxrr@boxa
+ \fi
+ \endgroup
+ \ifpxrr@k@ghost
+ \pxrr@inhibitglue
+ \pxrr@jghost@char
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{$B%G%P%C%0MQ=PNO(B}
+%
+% \begin{macrocode}
+\def\pxrr@debug@show@kenten@input{%
+ \typeout{%
+pxrr@k@the@mark=\meaning\pxrr@k@the@mark^^J%
+pxrr@side=\meaning\pxrr@side^^J%
+pxrr@body@list=\meaning\pxrr@body@list^^J%
+ }%
+}
+% \end{macrocode}
+%
+%^^A------------------------------------
+% \section{$B<BAu!J7wE@%k%SF1;~IU2C!K(B}
+%
+% $B%3%s%\!*(B
+%
+% \subsection{$B8F=P;~%Q%i%a%?(B}
+%
+% \begin{macro}{\ifpxrr@apply@combo}
+% $BD>8e$K<B9T$9$k%k%SL?Na$K$D$$$FF1;~IU2C$r9T$&$+!#(B
+% $B%9%$%C%A!#(B
+% \begin{macrocode}
+\newif\ifpxrr@apply@combo
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifpxrr@combo}
+% $B8=:_<B9TCf$N%k%SL?Na$K$D$$$FF1;~IU2C$r9T$&$+!#(B
+% $B%9%$%C%A!#(B
+% \begin{macrocode}
+\newif\ifpxrr@combo
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@ck@ruby@font}
+% \begin{macro}{\pxrr@ck@size@ratio}
+% \begin{macro}{\pxrr@ck@inter@gap}
+% \begin{macro}{\pxrr@ck@ruby@inter@gap}
+% \begin{macro}{\pxrr@ck@side}
+% \begin{macro}{\pxrr@ck@the@mark}
+% \begin{macro}{\pxrr@ck@ruby@combo}
+% $BF1;~IU2C;~$N7wE@B&$N8F=P;~%Q%i%a%?$NCM!#(B
+% \begin{macrocode}
+\let\pxrr@ck@ruby@font\relax
+\let\pxrr@ck@size@ratio\relax
+\let\pxrr@ck@inter@gap\relax
+\let\pxrr@ck@ruby@inter@gap\relax
+\let\pxrr@ck@side\relax
+\let\pxrr@ck@the@mark\relax
+\let\pxrr@ck@ruby@combo\relax
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\ifpxrr@ck@kenten@head}
+% $BEv3:$N%k%SL?Na$,!"7wE@L?Na$N0z?t$N@hF,$K$"$k$+!#(B
+% \begin{macrocode}
+\newif\ifpxrr@ck@kenten@head
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifpxrr@ck@kenten@end}
+% $BEv3:$N%k%SL?Na$,!"7wE@L?Na$N0z?t$N@hF,$K$"$k$+!#(B
+% \begin{macrocode}
+\newif\ifpxrr@ck@kenten@end
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@ck@bind@param}
+% $B!H8F=P;~JQ?t!I$X$N%3%T!<$r9T$&!#(B
+% \begin{macrocode}
+\def\pxrr@ck@bind@param{%
+ \let\pxrr@ck@ruby@font\pxrr@c@ruby@font
+ \let\pxrr@ck@size@ratio\pxrr@c@size@ratio
+ \let\pxrr@ck@inter@gap\pxrr@c@inter@gap
+ \let\pxrr@ck@ruby@inter@gap\pxrr@k@ruby@inter@gap
+ \let\pxrr@ck@side\pxrr@side
+ \let\pxrr@ck@the@mark\pxrr@k@the@mark
+ \let\pxrr@ck@ruby@combo\pxrr@k@ruby@combo
+ \pxrr@csletcs{ifpxrr@ck@kenten@head}{ifpxrr@k@first@entry}%
+ \pxrr@csletcs{ifpxrr@ck@kenten@end}{ifpxrr@k@last@entry}%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \subsection{$B$=$NB>$NJQ?t(B}
+%
+% \begin{macro}{\pxrr@ck@zw}
+% $B7wE@$NA43QI}!#(B
+% \begin{macrocode}
+\let\pxrr@ck@zw\relax
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pxrr@ck@raise@P}
+% $B%k%SB&$,(B |P| $B$G$"$k>l9g$N!"7wE@$N?bD>J}8~$N0\F0NL!#(B
+% \Note $B7wE@B&$,(B |S| $B$G$"$k>l9g$OIiCM$K$J$k!#(B
+% \begin{macrocode}
+\let\pxrr@ck@raise@P\relax
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pxrr@ck@raise@S}
+% $B%k%SB&$,(B |S| $B$G$"$k>l9g$N!"7wE@$N?bD>J}8~$N0\F0NL!#(B
+% \begin{macrocode}
+\let\pxrr@ck@raise@S\relax
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@ck@raise@t}
+% $B%k%SB&$,N>B&%k%S$G$"$k>l9g$N!"7wE@$N?bD>J}8~$N0\F0NL!#(B
+% \begin{macrocode}
+\let\pxrr@ck@raise@t\relax
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{$B%*%W%7%g%s@09g@-8!::(B}
+%
+% \begin{macro}{\pxrr@ck@check@option}
+% $BF1;~IU2C$N$?$a$N8F=P;~%Q%i%a%?$ND4@0!#(B
+% \begin{macrocode}
+\def\pxrr@ck@check@option{%
+ \ifpxrr@ck@kenten@head
+ \let\pxrr@bintr@\@empty
+ \let\pxrr@bscomp=.\relax
+ \pxrr@bnobrtrue
+ \fi
+ \ifpxrr@ck@kenten@end
+ \let\pxrr@aintr@\@empty
+ \let\pxrr@ascomp=.\relax
+ \pxrr@anobrtrue
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{$B%U%)%s%H%5%$%:(B}
+%
+% \begin{macro}{\pxrr@ck@assign@fsize}
+% $B%U%)%s%H$K4XO"$9$k@_Dj!#(B
+% \begin{macrocode}
+\def\pxrr@ck@assign@fsize{%
+% \end{macrocode}
+% |\pxrr@ck@zw| $B$NCM$r5a$a$k!#(B
+% \begin{macrocode}
+ \begingroup
+ \@tempdima=\f@size\p@
+ \@tempdima\pxrr@ck@size@ratio\@tempdima
+ \edef\pxrr@ruby@fsize{\the\@tempdima}%
+ \let\pxrr@c@ruby@font\pxrr@ck@ruby@font
+ \pxrr@use@ruby@font
+ \pxrr@get@zwidth\pxrr@ck@zw
+ \global\let\pxrr@gtempa\pxrr@ck@zw
+ \endgroup
+ \let\pxrr@ck@zw\pxrr@gtempa
+% \end{macrocode}
+% |\pxrr@ck@raise@P|$B!"(B|\pxrr@ck@raise@S| $B$NCM$r7W;;$9$k!#(B
+% \begin{macrocode}
+ \ifcase\pxrr@ck@side
+% \end{macrocode}
+% $B7wE@B&$,(B |P| $B$N>l9g!#(B
+% \begin{macrocode}
+ \@tempdimc\pxrr@ck@zw
+ \advance\@tempdimc-\pxrr@htratio\@tempdimc
+ \@tempdima\pxrr@ruby@raise\relax
+ \@tempdimb\pxrr@ruby@zw\relax
+ \advance\@tempdima\pxrr@htratio\@tempdimb
+ \@tempdimb\pxrr@body@zw\relax
+ \advance\@tempdima\pxrr@ck@ruby@inter@gap\@tempdimb
+ \advance\@tempdima\@tempdimc
+ \edef\pxrr@ck@raise@P{\the\@tempdima}%
+ \@tempdima\pxrr@body@zw\relax
+ \@tempdima\pxrr@htratio\@tempdima
+ \@tempdimb\pxrr@body@zw\relax
+ \advance\@tempdima\pxrr@ck@inter@gap\@tempdimb
+ \advance\@tempdima\@tempdimc
+ \edef\pxrr@ck@raise@S{\the\@tempdima}%
+ \let\pxrr@ck@raise@t\pxrr@ck@raise@P
+ \or
+% \end{macrocode}
+% $B7wE@B&$,(B |S| $B$N>l9g!#(B
+% \begin{macrocode}
+ \@tempdimc\pxrr@ck@zw
+ \@tempdimc\pxrr@htratio\@tempdimc
+ \@tempdima-\pxrr@ruby@lower\relax
+ \@tempdimb\pxrr@ruby@zw\relax
+ \advance\@tempdimb-\pxrr@htratio\@tempdimb
+ \advance\@tempdima-\@tempdimb
+ \@tempdimb\pxrr@body@zw\relax
+ \advance\@tempdima-\pxrr@ck@ruby@inter@gap\@tempdimb
+ \advance\@tempdima-\@tempdimc
+ \edef\pxrr@ck@raise@S{\the\@tempdima}%
+ \@tempdima-\pxrr@body@zw\relax
+ \advance\@tempdima-\pxrr@htratio\@tempdima
+ \@tempdimb\pxrr@body@zw\relax
+ \advance\@tempdima-\pxrr@ck@inter@gap\@tempdimb
+ \advance\@tempdima-\@tempdimc
+ \edef\pxrr@ck@raise@P{\the\@tempdima}%
+ \let\pxrr@ck@raise@t\pxrr@ck@raise@S
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{$B%V%m%C%/Kh$NAHHG(B}
+%
+% \begin{macro}{\pxrr@ck@body@natwd}
+% $B?FJ8;zNs$N<+A3D9!#(B
+% \begin{macrocode}
+\let\pxrr@ck@body@natwd\relax
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@ck@locate}
+% $B7wE@Ns$N%Q%?!<%s;XDj!#(B
+% \begin{macrocode}
+\let\pxrr@ck@locate\relax
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@ck@kenten@list}
+% $B7wE@Ns$N%j%9%H!#(B
+% \begin{macrocode}
+\let\pxrr@ck@kenten@list\relax
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@ck@compose}
+% |#1| $B$K?FJ8;z%F%-%9%H!"(B|\pxrr@ck@body@natwd| $B$K?FJ8;z$N<+A3D9!"(B
+% $B%\%C%/%9(B0$B$K%k%S=PNO!"(B|\pxrr@boxa| $B$K?FJ8;z=PNO!"(B
+% |\pxrr@ck@locate| $B$K%Q%?!<%s$,F~$C$F$$$kA0Ds$G!"(B
+% $B%\%C%/%9(B0$B$K7wE@$rDI2C$9$k!#(B
+%
+% \begin{macrocode}
+\def\pxrr@ck@compose#1{%
+% \end{macrocode}
+% $B7wE@$rAH$s$@%\%C%/%9$r:n$k!#(B
+% \begin{macrocode}
+ \setbox\tw@\pxrr@hbox@to\z@{%
+ \@tempdima=\f@size\p@
+ \@tempdima\pxrr@ck@size@ratio\@tempdima
+ \edef\pxrr@ruby@fsize{\the\@tempdima}%
+ \let\pxrr@c@ruby@font\pxrr@ck@ruby@font
+ \pxrr@use@ruby@font
+ \hss\pxrr@ck@the@mark\hss
+ }%
+% \end{macrocode}
+% $B?FJ8;z%F%-%9%H$rJ,2r$7$?8e!"%j%9%H(B |\pxrr@res| $B$r(B
+% $B7wE@$N%j%9%H$KCV$-49$($k!#(B
+% \begin{macrocode}
+ \pxrr@save@listproc
+ \pxrr@decompose{#1}%
+ \def\pxrr@pre{%
+ \let\pxrr@res\@empty
+ \pxrr@ck@compose@entry\pxrr@pre
+ }%
+ \def\pxrr@inter{%
+ \pxrr@ck@compose@entry\pxrr@inter
+ }%
+ \def\pxrr@post{%
+ \pxrr@appto\pxrr@res{\pxrr@post}%
+ }%
+ \pxrr@res
+ \pxrr@restore@listproc
+ \let\pxrr@natwd\pxrr@ck@body@natwd
+% \end{macrocode}
+% $B7wE@%j%9%H$r6QEyG[CV$9$k!#(B
+% \begin{macrocode}
+ \pxrr@evenspace@int\pxrr@ck@locate\pxrr@boxb\relax
+ {\wd\pxrr@boxa}%
+% \end{macrocode}
+% $B9g@.=hM}!#(B
+% \begin{macrocode}
+ \setbox\z@\hbox{%
+ \unhcopy\z@
+ \kern-\wd\z@
+ \ifcase\pxrr@side
+ \raise\pxrr@ck@raise@P
+ \or
+ \raise\pxrr@ck@raise@S
+ \or
+ \raise\pxrr@ck@raise@t
+ \fi
+ \hb@xt@\wd\pxrr@boxa{\hss\copy\pxrr@boxb\hss}%
+ }%
+}
+\def\pxrr@ck@compose@entry#1#2{%
+ \setbox\pxrr@boxb\pxrr@hbox{#2}%
+ \edef\pxrr@tempa{%
+ \noexpand\pxrr@appto\noexpand\pxrr@res{\noexpand#1{%
+ \hb@xt@\the\wd\pxrr@boxb{\hss\copy\tw@\hss}}}%
+ }\pxrr@tempa
+}
+% \end{macrocode}
+% \end{macro}
+%
+%^^A------------------------------------
+% \section{$B<BAu!'(Bhyperref$BBP:v(B}
+%
+% PDF$BJ8;zNsCf$G$O%k%SL?Na$d7wE@L?Na$,!HL5Fq$J=PNO!I$r$9$k$h$&$K$9$k!#(B
+% $B8=>u$G$O!"%k%S!&7wE@$H$b$K?FJ8;z$N$_$r=PNO$9$k$3$H$K$9$k!#(B
+%
+% \begin{macro}{\pxrr@dumb@sub}
+% $B%*%W%7%g%sItJ,$rFI$_Ht$P$9Jd=u%^%/%m!#(B
+% \begin{macrocode}
+\def\pxrr@dumb@sub#1#2#{#1}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@dumb@ruby}
+% $BL5Fq$J%k%SL?Na!#(B
+% \begin{macrocode}
+\def\pxrr@dumb@ruby{%
+ \pxrr@dumb@sub\pxrr@dumb@ruby@
+}
+\def\pxrr@dumb@ruby@#1#2{#1}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@dumb@truby}
+% $BL5Fq$JN>B&%k%SL?Na!#(B
+% \begin{macrocode}
+\def\pxrr@dumb@truby{%
+ \pxrr@dumb@sub\pxrr@dumb@truby@
+}
+\def\pxrr@dumb@truby@#1#2#3{#1}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pxrr@dumb@tkenten}
+% $BL5Fq$J7wE@L?Na!#(B
+% \Note |\kspan| $B$b$3$NDj5A$rMxMQ$9$k!#(B
+% \begin{macrocode}
+\def\pxrr@dumb@kenten{%
+ \pxrr@dumb@sub\pxrr@dumb@kenten@
+}
+\def\pxrr@dumb@kenten@#1{#1}
+% \end{macrocode}
+% \end{macro}
+%
+% \PKN{hyperref}$B$N(B |\pdfstringdef| $BMQ$N%U%C%/(B |\pdfstringdefPreHook|
+% $B$K>e=q$-=hM}$rDI5-$9$k!#(B
+% \begin{macrocode}
+\providecommand*\pdfstringdefPreHook{}
+\g@addto@macro\pdfstringdefPreHook{%
+% \end{macrocode}
+% |\ruby| $B$H(B |\kenten| $B$O!VK\%Q%C%1!<%8$NL?Na$G$"$k$+!W$N8!::$,I,MW!#(B
+% \begin{macrocode}
+ \ifx\pxrr@cmd@ruby\ruby
+ \let\ruby\pxrr@dumb@ruby
+ \fi
+ \let\jruby\pxrr@dumb@ruby
+ \let\aruby\pxrr@dumb@ruby
+ \let\truby\pxrr@dumb@truby
+ \let\atruby\pxrr@dumb@truby
+ \ifx\pxrr@cmd@kenten\kenten
+ \let\kenten\pxrr@dumb@kenten
+ \fi
+ \let\kspan\pxrr@dumb@kenten
+}
+% \end{macrocode}
+%
+%^^A------------------------------------
% \Finale
%
\endinput
diff --git a/Master/texmf-dist/tex/platex/pxrubrica/pxrubrica.sty b/Master/texmf-dist/tex/platex/pxrubrica/pxrubrica.sty
index 7bc67f1b6a2..3efd8853ac3 100644
--- a/Master/texmf-dist/tex/platex/pxrubrica/pxrubrica.sty
+++ b/Master/texmf-dist/tex/platex/pxrubrica/pxrubrica.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pxrubrica}
- [2017/04/20 v1.2 PX Japanese-style ruby]
+ [2017/04/27 v1.3 PX Japanese-style ruby]
\RequirePackage{keyval}
\def\pxrr@pkgname{pxrubrica}
\def\pxrr@error{%
@@ -159,6 +159,9 @@
\chardef\pxrr@evensp=1
\chardef\pxrr@revensp=1
\chardef\pxrr@fullsize=1
+\let\pxrr@c@ruby@font\@undefined
+\let\pxrr@c@size@ratio\@undefined
+\let\pxrr@c@inter@gap\@undefined
\let\pxrr@body@list\@undefined
\let\pxrr@body@count\@undefined
\let\pxrr@ruby@list\@undefined
@@ -609,6 +612,27 @@
\def#1{?}%
}
\fi\fi
+\pxrr@jchardef\pxrr@zspace=\pxrr@jc{2121:3000}
+\ifpxrr@in@uptex
+ \kchardef\pxrr@jghost@char="113000
+\else\ifpxrr@in@luatexja
+ \let\pxrr@jghost@char\pxrr@zspace
+ \def\pxrr@jghost@check{%
+ \begingroup
+ \setbox\z@\hbox{\char"3001\char"3000}%
+ \setbox\tw@\hbox{\char"3001\inhibitglue\char"3000}%
+ \ifdim\wd\tw@=\wd\z@
+ \global\chardef\pxrr@jghost@char@="00A0
+ \gdef\pxrr@jghost@char{\ltjjachar\pxrr@jghost@char@}%
+ \fi
+ \endgroup
+ }
+ \AtBeginDocument{%
+ \pxrr@jghost@check
+ }
+\else
+ \let\pxrr@jghost@char\pxrr@zspace
+\fi\fi
\pxrr@jchardef\pxrr@x@K=\pxrr@jc{306C:4E00}
\ifpxrr@in@ptex
\def\pxrr@get@iiskip#1{%
@@ -711,17 +735,61 @@
\fi\fi\fi\fi
\ifpxrr@in@ptex
\def\pxrr@get@prebreakpenalty#1#2{%
- #1=\prebreakpenalty`#2\relax
+ #1=\prebreakpenalty#2\relax
}
\else\ifpxrr@in@luatexja
\def\pxrr@get@prebreakpenalty#1#2{%
- #1=\ltjgetparameter{prebreakpenalty}{`#2}\relax
+ #1=\ltjgetparameter{prebreakpenalty}{#2}\relax
}
\else
\def\pxrr@get@prebreakpenalty#1#2{%
#1=\z@
}
\fi\fi
+\ifpxrr@in@ptex
+ \def\pxrr@get@postbreakpenalty#1#2{%
+ #1=\postbreakpenalty#2\relax
+ }
+\else\ifpxrr@in@luatexja
+ \def\pxrr@get@postbreakpenalty#1#2{%
+ #1=\ltjgetparameter{postbreakpenalty}{#2}\relax
+ }
+\else
+ \def\pxrr@get@postbreakpenalty#1#2{%
+ #1=\z@
+ }
+\fi\fi
+\ifpxrr@in@ptex
+ \def\pxrr@check@punct@char#1#2{%
+ \pxrr@okfalse
+ \ifcase#2\relax
+ \ifnum\xspcode#1=\thr@@\else
+ \pxrr@oktrue
+ \fi
+ \else
+ \ifnum\inhibitxspcode#1=\thr@@\else
+ \pxrr@oktrue
+ \fi
+ \fi
+ }
+\else\ifpxrr@in@luatexja
+ \def\pxrr@check@punct@char#1#2{%
+ \ifnum\ltjgetparameter{jaxspmode}{#1}=\thr@@
+ \pxrr@okfalse
+ \else
+ \pxrr@oktrue
+ \fi
+ }
+\else
+ \def\pxrr@check@punct@char#1#2{%
+ \pxrr@okfalse
+ }
+\fi\fi
+\ifx\inhibitglue\@undefined
+ \let\pxrr@inhibitglue\relax
+\else
+ \let\pxrr@inhibitglue\inhibitglue
+\fi
\newif\ifpxrr@in@setup \pxrr@in@setupfalse
\newcommand*\rubysetup[1]{%
\pxrr@in@setuptrue
@@ -1131,6 +1199,9 @@
\if g\pxrr@mode\else
\chardef\pxrr@evensp\@ne
\fi
+ \ifpxrr@combo
+ \pxrr@ck@check@option
+ \fi
}
\let\pxrr@ruby@fsize\pxrr@zeropt
\let\pxrr@body@zw\pxrr@zeropt
@@ -1142,7 +1213,7 @@
\let\pxrr@iaiskip\pxrr@zeropt
\def\pxrr@assign@fsize{%
\@tempdima=\f@size\p@
- \@tempdima\pxrr@size@ratio\@tempdima
+ \@tempdima\pxrr@c@size@ratio\@tempdima
\edef\pxrr@ruby@fsize{\the\@tempdima}%
\pxrr@get@zwidth\pxrr@body@zw
\begingroup
@@ -1164,7 +1235,7 @@
\advance\@tempdimb-\pxrr@htratio\@tempdimb
\advance\@tempdima\@tempdimb
\@tempdimb\pxrr@body@zw\relax
- \advance\@tempdima\pxrr@inter@gap\@tempdimb
+ \advance\@tempdima\pxrr@c@inter@gap\@tempdimb
\edef\pxrr@ruby@raise{\the\@tempdima}%
\@tempdima\pxrr@body@zw\relax
\advance\@tempdima-\pxrr@htratio\@tempdima
@@ -1172,14 +1243,17 @@
\@tempdimb\pxrr@htratio\@tempdimb
\advance\@tempdima\@tempdimb
\@tempdimb\pxrr@body@zw\relax
- \advance\@tempdima\pxrr@inter@gap\@tempdimb
+ \advance\@tempdima\pxrr@c@inter@gap\@tempdimb
\edef\pxrr@ruby@lower{\the\@tempdima}%
+ \ifpxrr@combo
+ \pxrr@ck@assign@fsize
+ \fi
}
\def\pxrr@use@ruby@font{%
\pxrr@without@macro@trace{%
\let\rubyfontsize\pxrr@ruby@fsize
\fontsize{\pxrr@ruby@fsize}{\z@}\selectfont
- \pxrr@ruby@font
+ \pxrr@c@ruby@font
}%
}
\chardef\pxrr@locate@inner=1
@@ -1368,6 +1442,8 @@
}
\def\pxrr@compose@oneside@block@do#1#2#3#4{%
\setbox\pxrr@boxa\pxrr@hbox{#2}%
+ \edef\pxrr@ck@body@natwd{\the\wd\pxrr@boxa}%
+ \let\pxrr@ck@locate\pxrr@locate@inner
\setbox\pxrr@boxr\pxrr@hbox{%
\pxrr@use@ruby@font
#3%
@@ -1382,6 +1458,7 @@
\let\pxrr@locate@temp\pxrr@locate@head
\fi
\fi
+ \let\pxrr@ck@locate\pxrr@locate@temp
\pxrr@decompose{#2}%
\edef\pxrr@natwd{\the\wd\pxrr@boxa}%
\pxrr@evenspace@int\pxrr@locate@temp\pxrr@boxa\relax
@@ -1409,6 +1486,9 @@
\lower\pxrr@ruby@lower\box\pxrr@boxr
\fi
}%
+ \ifnum \ifpxrr@combo\pxrr@ck@ruby@combo\else\z@\fi >\z@
+ \pxrr@ck@compose{#2}%
+ \fi
\ht\z@\z@ \dp\z@\z@
\@tempdima\wd\z@
\setbox\pxrr@boxr\hbox{%
@@ -1426,6 +1506,8 @@
}
\def\pxrr@compose@twoside@block@do#1#2#3#4{%
\setbox\pxrr@boxa\pxrr@hbox{#2}%
+ \edef\pxrr@ck@body@natwd{\the\wd\pxrr@boxa}%
+ \let\pxrr@ck@locate\pxrr@locate@inner
\setbox\pxrr@boxr\pxrr@hbox{%
\pxrr@use@ruby@font
#3%
@@ -1449,6 +1531,7 @@
\let\pxrr@locate@temp\pxrr@locate@head
\fi
\fi
+ \let\pxrr@ck@locate\pxrr@locate@temp
\ifdim\wd\pxrr@boxr<\wd\pxrr@boxb
\pxrr@compose@twoside@block@sub{#2}{#3}%
\pxrr@boxr\pxrr@boxb
@@ -1487,6 +1570,9 @@
\kern-\@tempdima
\lower\pxrr@ruby@lower\box\pxrr@boxb
}%
+ \ifnum \ifpxrr@combo\pxrr@ck@ruby@combo\else\z@\fi >\z@
+ \pxrr@ck@compose{#2}%
+ \fi
\ht\z@\z@ \dp\z@\z@
\@tempdima\wd\z@
\setbox\pxrr@boxr\hbox{%
@@ -1643,7 +1729,7 @@
\pxrr@check@kinsoku@c#1#1%
}
\def\pxrr@check@kinsoku@c#1{%
- \pxrr@get@prebreakpenalty\pxrr@cntr{#1}%
+ \pxrr@get@prebreakpenalty\pxrr@cntr{`#1}%
\pxrr@tempb
}
\def\pxrr@tempa#1#2\pxrr@nil{%
@@ -1834,8 +1920,21 @@
\else F%
\fi\fi T%
}
+\def\pxrr@bind@param{%
+ \ifpxrr@apply@combo
+ \pxrr@apply@combofalse
+ \pxrr@combotrue
+ \pxrr@ck@bind@param
+ \else
+ \pxrr@combofalse
+ \fi
+ \let\pxrr@c@ruby@font\pxrr@ruby@font
+ \let\pxrr@c@size@ratio\pxrr@size@ratio
+ \let\pxrr@c@inter@gap\pxrr@inter@gap
+}
\def\pxrr@ruby@proc#1#2{%
\pxrr@prepare@fallback{#1}%
+ \pxrr@bind@param
\pxrr@assign@fsize
\pxrr@parse@option\pxrr@option
\pxrr@decompbar{#2}%
@@ -1873,6 +1972,7 @@
}
\def\pxrr@truby@proc#1#2#3{%
\pxrr@prepare@fallback{#1}%
+ \pxrr@bind@param
\pxrr@assign@fsize
\pxrr@parse@option\pxrr@option
\def\pxrr@all@input{{#1}{#2}{#3}}%
@@ -2213,16 +2313,16 @@
}
\let\pxrr@ruby@main@mg\@undefined
\newif\ifpxrr@ghost
-\pxrr@jchardef\pxrr@zspace=\pxrr@jc{2121:3000}
\def\pxrr@jprologue{%
\ifpxrr@jghost
- \pxrr@zspace
+ \pxrr@jghost@char
+ \pxrr@inhibitglue
\fi
\begingroup
\pxrr@abodyfalse
\pxrr@csletcs{ifpxrr@ghost}{ifpxrr@jghost}%
\ifpxrr@jghost
- \setbox\pxrr@boxa\hbox{\pxrr@zspace}%
+ \setbox\pxrr@boxa\hbox{\pxrr@jghost@char}%
\kern-\wd\pxrr@boxa
\fi
}
@@ -2266,12 +2366,13 @@
}
\def\pxrr@jepilogue{%
\ifpxrr@jghost
- \setbox\pxrr@boxa\hbox{\pxrr@zspace}%
+ \setbox\pxrr@boxa\hbox{\pxrr@jghost@char}%
\kern-\wd\pxrr@boxa
\fi
\endgroup
\ifpxrr@jghost
- \pxrr@zspace
+ \pxrr@inhibitglue
+ \pxrr@jghost@char
\fi
}
\def\pxrr@aepilogue{%
@@ -2339,6 +2440,771 @@
\typeout{----\pxrr@pkgname\space resolve-mode:
\meaning\pxrr@mode}%
}
+\def\pxrr@warn@na@kmark#1{%
+ \pxrr@warn{Unavailable kenten mark '#1'}%
+}
+\def\pxrr@err@invalid@value#1{%
+ \pxrr@error{Invalid value '#1'}%
+ {\@eha}%
+}
+\let\pxrr@k@ymark\@undefined
+\let\pxrr@k@ysmark\@undefined
+\let\pxrr@k@tmark\@undefined
+\let\pxrr@k@tsmark\@undefined
+\AtEndOfPackage{%
+ \pxrr@k@get@mark\pxrr@k@ymark{bullet*}%
+ \pxrr@k@get@mark\pxrr@k@ysmark{sesame*}%
+ \pxrr@k@get@mark\pxrr@k@tmark{sesame*}%
+ \pxrr@k@get@mark\pxrr@k@tsmark{bullet*}%
+}
+\let\pxrr@k@ruby@font\@empty
+\def\pxrr@k@size@ratio{0.5}
+\newif\ifpxrr@k@ghost \pxrr@k@ghosttrue
+\def\pxrr@k@inter@gap{0}
+\def\pxrr@k@ruby@inter@gap{0}
+\chardef\pxrr@k@d@side=0
+\chardef\pxrr@k@d@mark=0
+\chardef\pxrr@k@ruby@combo=1
+\chardef\pxrr@k@d@full=0
+\chardef\pxrr@k@mark=0
+\chardef\pxrr@k@full=0
+\let\pxrr@k@the@mark\relax
+\newif\ifpxrr@avail@UTF
+\def\pxrr@decide@avail@UTF{%
+ \global\let\pxrr@decide@avail@UTF\relax
+ \ifx\UTF\@undefined \global\pxrr@avail@UTFfalse
+ \else \global\pxrr@avail@UTFtrue
+ \fi
+}
+\def\pxrr@k@decompose#1{%
+ \let\pxrr@res\@empty
+ \pxrr@cntr=\z@
+ \pxrr@k@decompose@loopa#1\pxrr@end
+}
+\def\pxrr@k@decompose@loopa{%
+ \futurelet\pxrr@token\pxrr@k@decompose@loopb
+}
+\def\pxrr@k@decompose@loopb{%
+ \pxrr@cond\ifx\pxrr@token\pxrr@end\fi{%
+ \pxrr@appto\pxrr@res{\pxrr@post}%
+ }{\pxrr@if@kspan@cmd\pxrr@token{%
+ \pxrr@k@decompose@special\pxrr@k@decompose@kspan
+ }{\pxrr@if@ruby@cmd\pxrr@token{%
+ \pxrr@k@decompose@special\pxrr@k@decompose@ruby
+ }{\pxrr@if@truby@cmd\pxrr@token{%
+ \pxrr@k@decompose@special\pxrr@k@decompose@truby
+ }{\pxrr@if@kenten@cmd\pxrr@token{%
+ \pxrr@k@decompose@special\pxrr@k@decompose@kenten
+ }{\pxrr@cond\ifx\pxrr@token\@sptoken\fi{%
+ \pxrr@k@decompose@loope
+ }{%
+ \pxrr@setok{\pxrr@ifx{\pxrr@token\bgroup}}%
+ \pxrr@k@decompose@loopc
+ }}}}}}%
+}
+\def\pxrr@k@decompose@loopc#1{%
+ \pxrr@appto\pxrr@res{\pxrr@entry}%
+ \ifpxrr@ok
+ \pxrr@appto\pxrr@res{{{#1}}}%
+ \else
+ \pxrr@appto\pxrr@res{{#1}}%
+ \fi
+ \pxrr@k@decompose@loopd
+}
+\def\pxrr@k@decompose@loopd{%
+ \advance\pxrr@cntr\@ne
+ \pxrr@k@decompose@loopa
+}
+\expandafter\def\expandafter\pxrr@k@decompose@loope\space{%
+ \pxrr@okfalse
+ \pxrr@k@decompose@loopc{ }%
+}
+\def\pxrr@k@decompose@special#1#2#{%
+ #1{#2}%
+}
+\def\pxrr@k@decompose@kspan#1#2{%
+ \pxrr@appto\pxrr@res{\pxrr@entry@kspan{#1{#2}}}%
+ \pxrr@k@decompose@loopd
+}
+\def\pxrr@k@decompose@ruby#1#2#3{%
+ \pxrr@appto\pxrr@res{\pxrr@entry@ruby{#1{#2}{#3}}}%
+ \pxrr@k@decompose@loopd
+}
+\def\pxrr@k@decompose@truby#1#2#3#4{%
+ \pxrr@appto\pxrr@res{\pxrr@entry@ruby{#1{#2}{#3}{#4}}}%
+ \pxrr@k@decompose@loopd
+}
+\def\pxrr@k@decompose@kenten#1#2{%
+ \pxrr@appto\pxrr@res{\pxrr@entry@kenten{#1{#2}}}%
+ \pxrr@k@decompose@loopd
+}
+\def\pxrr@cmd@ruby{\jruby}
+\def\pxrr@cmd@kenten{\jkenten}
+\def\pxrr@if@ruby@cmd#1{%
+ \if \ifcat\noexpand#1\relax
+ \ifx#1\pxrr@cmd@ruby T%
+ \else\ifx#1\jruby T%
+ \else\ifx#1\aruby T%
+ \else F%
+ \fi\fi\fi
+ \else F%
+ \fi T\expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
+ \fi
+}
+\def\pxrr@if@truby@cmd#1{%
+ \if \ifcat\noexpand#1\relax
+ \ifx#1\truby T%
+ \else\ifx#1\atruby T%
+ \else F%
+ \fi\fi
+ \else F%
+ \fi T\expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
+ \fi
+}
+\def\pxrr@if@kspan@cmd#1{%
+ \pxrr@cond\ifx#1\kspan\fi
+}
+\def\pxrr@if@kenten@cmd#1{%
+ \if \ifcat\noexpand#1\relax
+ \ifx#1\pxrr@cmd@kenten T%
+ \else\ifx#1\jkenten T%
+ \else F%
+ \fi\fi
+ \else F%
+ \fi T\expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
+ \fi
+}
+\newcommand*\kentensetup[1]{%
+ \pxrr@in@setuptrue
+ \pxrr@fatal@errorfalse
+ \pxrr@k@parse@option{#1}%
+ \ifpxrr@fatal@error\else
+ \let\pxrr@k@d@side\pxrr@side
+ \let\pxrr@k@d@mark\pxrr@k@mark
+ \let\pxrr@k@d@full\pxrr@k@full
+ \fi
+ \pxrr@in@setupfalse
+}
+\newcommand*\kentenfontsetup{}
+\def\kentenfontsetup#{%
+ \def\pxrr@k@ruby@font
+}
+\newcommand*\kentensizeratio[1]{%
+ \edef\pxrr@k@size@ratio{#1}%
+}
+\newcommand*\kentenintergap[1]{%
+ \edef\pxrr@k@inter@gap{#1}%
+}
+\newcommand*\kentenrubyintergap[1]{%
+ \edef\pxrr@k@ruby@inter@gap{#1}%
+}
+\newcommand*\kentenmarkinyoko[1]{%
+ \pxrr@k@get@mark\pxrr@k@ymark{#1}%
+}
+\newcommand*\kentensubmarkinyoko[1]{%
+ \pxrr@k@get@mark\pxrr@k@ysmark{#1}%
+}
+\newcommand*\kentenmarkintate[1]{%
+ \pxrr@k@get@mark\pxrr@k@tmark{#1}%
+}
+\newcommand*\kentensubmarkintate[1]{%
+ \pxrr@k@get@mark\pxrr@k@tsmark{#1}%
+}
+\chardef\pxrr@k@ruby@combo@ruby=0
+\chardef\pxrr@k@ruby@combo@both=1
+\newcommand*\kentenrubycombination[1]{%
+ \pxrr@letcs\pxrr@tempa{pxrr@k@ruby@combo@#1}%
+ \ifx\pxrr@tempa\relax
+ \pxrr@err@invalid@value{#1}%
+ \else
+ \let\pxrr@k@ruby@combo\pxrr@tempa
+ \fi
+}
+\def\pxrr@k@declare@mark#1{%
+ \global\@namedef{pxrr@k@mark@@#1}%
+}
+\def\pxrr@k@let@mark#1{%
+ \global\pxrr@cslet{pxrr@k@mark@@#1}%
+}
+\def\pxrr@k@get@mark#1#2{%
+ \futurelet\pxrr@token\pxrr@k@get@mark@a#2\pxrr@nil#1%
+}
+\def\pxrr@k@get@mark@a{%
+ \pxrr@cond\ifcat A\noexpand\pxrr@token\fi{%
+ \pxrr@k@get@mark@c
+ }{%else
+ \pxrr@k@get@mark@b
+ }%
+}
+\def\pxrr@k@get@mark@b#1\pxrr@nil#2{%
+ \def#2{#1}%
+}
+\def\pxrr@k@get@mark@c#1#2\pxrr@nil#3{%
+ \ifnum`#1<128
+ \pxrr@letcs\pxrr@tempa{pxrr@k@mark@@#1#2}%
+ \ifx\pxrr@tempa\relax
+ \pxrr@warn@na@kmark{#1#2}%
+ \else
+ \let#3\pxrr@tempa
+ \fi
+ \else
+ \pxrr@k@get@mark@b#1#2\pxrr@nil#3%
+ \fi
+}
+\def\pxrr@k@declare@mark@char#1#2{%
+ \pxrr@k@declare@mark@char@a{#1}#2\pxrr@end
+}
+\def\pxrr@k@declare@mark@char@a#1#2:#3\pxrr@end{%
+ \pxrr@jchardef\pxrr@tempa\pxrr@jc{#2:#3}%
+ \ifnum\pxrr@tempa=\pxrr@zspace
+ \pxrr@k@declare@mark{#1}{\pxrr@k@char@UTF{#1}{#3}}%
+ \else
+ \pxrr@k@let@mark{#1}\pxrr@tempa
+ \fi
+}
+\def\pxrr@k@char@UTF#1#2{%
+ \pxrr@decide@avail@UTF
+ \ifpxrr@avail@UTF
+ \pxrr@k@declare@mark{#1}{\UTF{#2}}%
+ \UTF{#2}%
+ \else
+ \pxrr@k@let@mark{#1}\@empty
+ \pxrr@warn@na@kmark{#1}%
+ \fi
+}
+\pxrr@k@declare@mark@char{bullet} {2121:2022}
+\pxrr@k@declare@mark@char{triangle}{2225:25B2}
+\pxrr@k@declare@mark@char{Triangle}{2224:25B3}
+\pxrr@k@declare@mark@char{fisheye} {2121:25C9}
+\pxrr@k@declare@mark@char{Circle} {217B:25CB}
+\pxrr@k@declare@mark@char{bullseye}{217D:25CE}
+\pxrr@k@declare@mark@char{circle} {217C:25CF}
+\pxrr@k@declare@mark@char{Bullet} {2121:25E6}
+\pxrr@k@declare@mark@char{sesame} {2121:FE45}
+\pxrr@k@declare@mark@char{Sesame} {2121:FE46}
+\pxrr@jchardef\pxrr@ja@dot=\pxrr@jc{2126:30FB}
+\pxrr@jchardef\pxrr@ja@comma=\pxrr@jc{2122:3001}
+\pxrr@k@declare@mark{bullet*}{%
+ \pxrr@dima=\pxrr@ruby@zw\relax
+ \hb@xt@\pxrr@dima{%
+ \kern-.5\pxrr@dima
+ \pxrr@if@in@tate{}{\lower.38\pxrr@dima}%
+ \hbox{%
+ \pxrr@dima=\f@size\p@
+ \fontsize{2\pxrr@dima}{\z@}\selectfont
+ \pxrr@ja@dot
+ }%
+ \hss
+ }%
+}
+\pxrr@k@declare@mark{sesame*}{%
+ \pxrr@dima=\pxrr@ruby@zw\relax
+ \hb@xt@\pxrr@dima{%
+ \pxrr@if@in@tate{\kern.1\pxrr@dima}{\kern.05\pxrr@dima}%
+ \pxrr@if@in@tate{\lower.85\pxrr@dima}{\raise.3\pxrr@dima}%
+ \hbox{%
+ \pxrr@dima=\f@size\p@
+ \fontsize{2.4\pxrr@dima}{\z@}\selectfont
+ \pxrr@ja@comma
+ }%
+ \hss
+ }%
+}
+\def\pxrr@k@parse@option#1{%
+ \edef\pxrr@tempa{#1}%
+ \let\pxrr@side\pxrr@k@d@side
+ \let\pxrr@k@mark\pxrr@k@d@mark
+ \let\pxrr@k@full\pxrr@k@d@full
+ \expandafter\pxrr@k@parse@option@loop\pxrr@tempa @\pxrr@end
+}
+\def\pxrr@k@parse@option@loop#1{%
+ \pxrr@letcs\pxrr@tempa{pxrr@k@po@PR@#1}%
+ \pxrr@cond\ifx\pxrr@tempa\relax\fi{%
+ \pxrr@fatal@knx@letter{#1}%
+ \pxrr@k@parse@option@exit
+ }{%
+ \pxrr@tempa
+ \pxrr@k@parse@option@loop
+ }%
+}
+\def\pxrr@k@parse@option@exit#1\pxrr@end{%
+ \ifpxrr@in@setup\else
+ \pxrr@k@check@option
+ \pxrr@if@in@tate{%
+ \ifcase\pxrr@k@mark \let\pxrr@k@the@mark\pxrr@k@tmark
+ \or \let\pxrr@k@the@mark\pxrr@k@tsmark
+ \fi
+ }{%
+ \ifcase\pxrr@k@mark \let\pxrr@k@the@mark\pxrr@k@ymark
+ \or \let\pxrr@k@the@mark\pxrr@k@ysmark
+ \fi
+ }%
+ \fi
+}
+\def\pxrr@k@po@PR@@{%
+ \pxrr@k@parse@option@exit
+}
+\def\pxrr@k@po@PR@P{%
+ \chardef\pxrr@side\z@
+}
+\def\pxrr@k@po@PR@S{%
+ \chardef\pxrr@side\@ne
+}
+\def\pxrr@k@po@PR@p{%
+ \chardef\pxrr@k@mark\z@
+}
+\def\pxrr@k@po@PR@s{%
+ \chardef\pxrr@k@mark\@ne
+}
+\def\pxrr@k@po@PR@F{%
+ \chardef\pxrr@k@full\z@
+}
+\def\pxrr@k@po@PR@f{%
+ \chardef\pxrr@k@full\@ne
+}
+\def\pxrr@k@check@option{%
+}
+\def\pxrr@k@compose@block#1#2{%
+ \setbox\pxrr@boxa\pxrr@hbox{#1}%
+ \pxrr@k@make@rep@list{\copy\pxrr@boxb}{#2}%
+ \let\pxrr@natwd\pxrr@zeropt
+ \pxrr@evenspace@int\pxrr@locate@inner\pxrr@boxr
+ \relax{\wd\pxrr@boxa}%
+ \setbox\z@\hbox{%
+ \ifnum\pxrr@side=\z@
+ \raise\pxrr@ruby@raise\box\pxrr@boxr
+ \else
+ \lower\pxrr@ruby@lower\box\pxrr@boxr
+ \fi
+ }%
+ \ht\z@\z@ \dp\z@\z@
+ \@tempdima\wd\z@
+ \setbox\pxrr@boxr\hbox{%
+ \box\z@
+ \kern-\@tempdima
+ \box\pxrr@boxa
+ }%
+}
+\def\pxrr@k@make@rep@list#1#2{%
+ \def\pxrr@res{\pxrr@pre{#1}}%
+ \pxrr@cntr=#2\relax
+ \ifnum\pxrr@cntr>\@ne
+ \@tempcnta\pxrr@cntr \advance\@tempcnta\m@ne
+ \@whilenum{\@tempcnta>\z@}\do{%
+ \pxrr@appto\pxrr@res{\pxrr@inter{#1}}%
+ \advance\@tempcnta\m@ne
+ }%
+ \fi
+ \pxrr@appto\pxrr@res{\pxrr@post}%
+}
+\newif\ifpxrr@k@first@entry
+\newif\ifpxrr@k@last@entry
+\newif\ifpxrr@k@prev@is@block
+\let\pxrr@k@accum@res\relax
+\mathchardef\pxrr@k@prebreakpenalty\z@
+\mathchardef\pxrr@k@postbreakpenalty\z@
+\chardef\pxrr@k@entry@res@type\z@
+\def\pxrr@k@list@pre{%
+ \pxrr@k@first@entrytrue
+ \pxrr@k@last@entryfalse
+ \pxrr@k@prev@is@blockfalse
+ \let\pxrr@k@accum@res\@empty
+ \chardef\pxrr@k@block@seq@state\z@
+}
+\def\pxrr@k@entry@with#1#2{%
+ \pxrr@if@last{%
+ \pxrr@k@last@entrytrue
+ \pxrr@k@entry@with@a#1{#2}%
+ }{%
+ \pxrr@k@entry@with@a#1{#2}%
+ }%
+}
+\def\pxrr@k@entry@with@a#1#2{%
+ \mathchardef\pxrr@k@prebreakpenalty\z@
+ \mathchardef\pxrr@k@postbreakpenalty\z@
+ #1{#2}%
+ \ifnum\pxrr@k@entry@res@type=\z@
+ \expandafter\pxrr@appto\expandafter\pxrr@k@accum@res
+ \expandafter{\pxrr@res}%
+ \else
+ \pxrr@k@accum@res
+ \let\pxrr@k@accum@res\@empty
+ \fi
+ \ifnum\pxrr@k@prebreakpenalty>\z@
+ \@tempcntb\lastpenalty \unpenalty
+ \advance\@tempcntb\pxrr@k@prebreakpenalty
+ \penalty\@tempcntb
+ \fi
+ \ifnum\pxrr@k@entry@res@type=\tw@
+ \ifpxrr@k@prev@is@block
+ \pxrr@inter@mono
+ \fi
+ \pxrr@k@prev@is@blocktrue
+ \else
+ \pxrr@k@prev@is@blockfalse
+ \fi
+ \ifnum\pxrr@k@entry@res@type>\z@
+ \unhbox\pxrr@boxr
+ \fi
+ \ifnum\pxrr@k@postbreakpenalty>\z@
+ \penalty\pxrr@k@postbreakpenalty
+ \fi
+ \pxrr@k@first@entryfalse
+}
+\def\pxrr@k@list@post{%
+ \pxrr@k@accum@res
+ \let\pxrr@k@accum@res\@empty
+}
+\def\pxrr@kenten@entry{%
+ \pxrr@k@entry@with\pxrr@kenten@entry@
+}
+\def\pxrr@kenten@entry@#1{%
+ \pxrr@k@check@char{#1}%
+ \ifpxrr@ok
+ \pxrr@k@compose@block{#1}\@ne
+ \chardef\pxrr@k@entry@res@type=\tw@
+ \else
+ \def\pxrr@res{#1}%
+ \chardef\pxrr@k@entry@res@type=\z@
+ \fi
+}
+\def\pxrr@kenten@entry@kspan{%
+ \pxrr@k@entry@with\pxrr@kenten@entry@kspan@
+}
+\def\pxrr@kenten@entry@kspan@#1{%
+ \pxrr@kenten@entry@kspan@a#1%
+}
+\def\pxrr@kenten@entry@kspan@a#1{%
+ \@ifstar{%
+ \@testopt\pxrr@kenten@entry@kspan@c{}%
+ }{%
+ \@testopt\pxrr@kenten@entry@kspan@b{}%
+ }%
+}
+\def\pxrr@kenten@entry@kspan@b[#1]#2{%
+ \setbox\z@\pxrr@hbox{#2}%
+ \@tempdima\pxrr@body@zw\relax
+ \@tempdimb\wd\z@ \advance\@tempdimb.25\@tempdima
+ \divide\@tempdimb\@tempdima
+ \edef\pxrr@kenten@entry@tempa{\number\@tempdimb}%
+ \pxrr@k@compose@block{#2}\pxrr@kenten@entry@tempa
+ \chardef\pxrr@k@entry@res@type=\tw@
+}
+\def\pxrr@kenten@entry@kspan@c[#1]#2{%
+ \def\pxrr@res{#2}%
+ \chardef\pxrr@k@entry@res@type=\z@
+}
+\def\pxrr@kenten@entry@kenten{%
+ \pxrr@k@entry@with\pxrr@kenten@entry@kenten@
+}
+\def\pxrr@kenten@entry@kenten@#1{%
+ \setbox\pxrr@boxr\hbox{#1}%
+ \chardef\pxrr@k@entry@res@type=\@ne
+}
+\def\pxrr@kenten@entry@ruby{%
+ \pxrr@k@entry@with\pxrr@kenten@entry@ruby@
+}
+\def\pxrr@kenten@entry@ruby@#1{%
+ \pxrr@apply@combotrue
+ \setbox\pxrr@boxr\hbox{#1}%
+ \chardef\pxrr@k@entry@res@type=\@ne
+}
+\newcommand*\kspan{%
+ \@ifstar{%
+ \@testopt\pxrr@kspan@a{}%
+ }{%
+ \@testopt\pxrr@kspan@a{}%
+ }%
+}
+\pxrr@add@protect\kspan
+\def\pxrr@kspan@a[#1]#2{%
+ \begingroup
+ #2%
+ \endgroup
+}
+\def\pxrr@k@check@char#1{%
+ \futurelet\pxrr@token\pxrr@k@check@char@a#1\pxrr@end
+}
+\def\pxrr@k@check@char@a#1\pxrr@end{%
+ \pxrr@cond\ifx\pxrr@token\bgroup\fi{%
+ \pxrr@oktrue
+ }{\pxrr@cond\ifx\pxrr@token\@sptoken\fi{%
+ \pxrr@okfalse
+ }{%
+ \pxrr@check@char\pxrr@token
+ \ifcase\pxrr@cntr
+ \pxrr@okfalse
+ \or
+ \pxrr@oktrue
+ \chardef\pxrr@check@char@temp\z@
+ \or
+ \pxrr@oktrue
+ \chardef\pxrr@check@char@temp\@ne
+ \fi
+ \ifnum\pxrr@k@full=\z@\ifpxrr@ok
+ \pxrr@check@punct@char{`#1}\pxrr@check@char@temp
+ \ifpxrr@ok \pxrr@okfalse
+ \else \pxrr@oktrue
+ \fi
+ \fi\fi
+ \ifpxrr@ok
+ \pxrr@get@prebreakpenalty\@tempcnta{`#1}%
+ \mathchardef\pxrr@k@prebreakpenalty\@tempcnta
+ \pxrr@get@postbreakpenalty\@tempcnta{`#1}%
+ \mathchardef\pxrr@k@postbreakpenalty\@tempcnta
+ \fi
+ }}%
+}
+\AtBeginDocument{%
+ \providecommand*{\kenten}{\jkenten}%
+}
+\newcommand*{\jkenten}{%
+ \pxrr@k@prologue
+ \pxrr@kenten
+}
+\pxrr@add@protect\jkenten
+\def\pxrr@kenten{%
+ \@testopt\pxrr@kenten@a{}%
+}
+\def\pxrr@kenten@a[#1]{%
+ \def\pxrr@option{#1}%
+ \ifpxrr@safe@mode
+ \expandafter\@firstofone
+ \else
+ \expandafter\pxrr@kenten@proc
+ \fi
+}
+\def\pxrr@k@bind@param{%
+ \let\pxrr@c@ruby@font\pxrr@k@ruby@font
+ \let\pxrr@c@size@ratio\pxrr@k@size@ratio
+ \let\pxrr@c@inter@gap\pxrr@k@inter@gap
+}
+\def\pxrr@kenten@proc#1{%
+ \pxrr@prepare@fallback{#1}%
+ \pxrr@k@bind@param
+ \pxrr@assign@fsize
+ \pxrr@k@parse@option\pxrr@option
+ \pxrr@if@alive{%
+ \pxrr@k@decompose{#1}%
+ \let\pxrr@body@list\pxrr@res
+ \pxrr@kenten@main
+ }%
+ \pxrr@kenten@exit
+}
+\def\pxrr@kenten@main{%
+ \setbox\pxrr@boxb\pxrr@hbox@to\z@{%
+ \pxrr@use@ruby@font
+ \hss\pxrr@k@the@mark\hss
+ }%
+ \let\pxrr@entry\pxrr@kenten@entry
+ \let\pxrr@entry@kspan\pxrr@kenten@entry@kspan
+ \let\pxrr@entry@ruby\pxrr@kenten@entry@ruby
+ \let\pxrr@entry@kenten\pxrr@kenten@entry@kenten
+ \let\pxrr@post\pxrr@k@list@post
+ \pxrr@k@list@pre
+ \pxrr@body@list
+}
+\def\pxrr@k@prologue{%
+ \ifpxrr@k@ghost
+ \pxrr@jghost@char
+ \pxrr@inhibitglue
+ \fi
+ \begingroup
+ \ifpxrr@k@ghost
+ \setbox\pxrr@boxa\hbox{\pxrr@jghost@char}%
+ \kern-\wd\pxrr@boxa
+ \fi
+}
+\def\pxrr@kenten@exit{%
+ \ifpxrr@fatal@error
+ \pxrr@fallback
+ \fi
+ \pxrr@k@epilogue
+}
+\def\pxrr@k@epilogue{%
+ \ifpxrr@k@ghost
+ \setbox\pxrr@boxa\hbox{\pxrr@jghost@char}%
+ \kern-\wd\pxrr@boxa
+ \fi
+ \endgroup
+ \ifpxrr@k@ghost
+ \pxrr@inhibitglue
+ \pxrr@jghost@char
+ \fi
+}
+\def\pxrr@debug@show@kenten@input{%
+ \typeout{%
+pxrr@k@the@mark=\meaning\pxrr@k@the@mark^^J%
+pxrr@side=\meaning\pxrr@side^^J%
+pxrr@body@list=\meaning\pxrr@body@list^^J%
+ }%
+}
+\newif\ifpxrr@apply@combo
+\newif\ifpxrr@combo
+\let\pxrr@ck@ruby@font\relax
+\let\pxrr@ck@size@ratio\relax
+\let\pxrr@ck@inter@gap\relax
+\let\pxrr@ck@ruby@inter@gap\relax
+\let\pxrr@ck@side\relax
+\let\pxrr@ck@the@mark\relax
+\let\pxrr@ck@ruby@combo\relax
+\newif\ifpxrr@ck@kenten@head
+\newif\ifpxrr@ck@kenten@end
+\def\pxrr@ck@bind@param{%
+ \let\pxrr@ck@ruby@font\pxrr@c@ruby@font
+ \let\pxrr@ck@size@ratio\pxrr@c@size@ratio
+ \let\pxrr@ck@inter@gap\pxrr@c@inter@gap
+ \let\pxrr@ck@ruby@inter@gap\pxrr@k@ruby@inter@gap
+ \let\pxrr@ck@side\pxrr@side
+ \let\pxrr@ck@the@mark\pxrr@k@the@mark
+ \let\pxrr@ck@ruby@combo\pxrr@k@ruby@combo
+ \pxrr@csletcs{ifpxrr@ck@kenten@head}{ifpxrr@k@first@entry}%
+ \pxrr@csletcs{ifpxrr@ck@kenten@end}{ifpxrr@k@last@entry}%
+}
+
+\let\pxrr@ck@zw\relax
+\let\pxrr@ck@raise@P\relax
+\let\pxrr@ck@raise@S\relax
+\let\pxrr@ck@raise@t\relax
+\def\pxrr@ck@check@option{%
+ \ifpxrr@ck@kenten@head
+ \let\pxrr@bintr@\@empty
+ \let\pxrr@bscomp=.\relax
+ \pxrr@bnobrtrue
+ \fi
+ \ifpxrr@ck@kenten@end
+ \let\pxrr@aintr@\@empty
+ \let\pxrr@ascomp=.\relax
+ \pxrr@anobrtrue
+ \fi
+}
+\def\pxrr@ck@assign@fsize{%
+ \begingroup
+ \@tempdima=\f@size\p@
+ \@tempdima\pxrr@ck@size@ratio\@tempdima
+ \edef\pxrr@ruby@fsize{\the\@tempdima}%
+ \let\pxrr@c@ruby@font\pxrr@ck@ruby@font
+ \pxrr@use@ruby@font
+ \pxrr@get@zwidth\pxrr@ck@zw
+ \global\let\pxrr@gtempa\pxrr@ck@zw
+ \endgroup
+ \let\pxrr@ck@zw\pxrr@gtempa
+ \ifcase\pxrr@ck@side
+ \@tempdimc\pxrr@ck@zw
+ \advance\@tempdimc-\pxrr@htratio\@tempdimc
+ \@tempdima\pxrr@ruby@raise\relax
+ \@tempdimb\pxrr@ruby@zw\relax
+ \advance\@tempdima\pxrr@htratio\@tempdimb
+ \@tempdimb\pxrr@body@zw\relax
+ \advance\@tempdima\pxrr@ck@ruby@inter@gap\@tempdimb
+ \advance\@tempdima\@tempdimc
+ \edef\pxrr@ck@raise@P{\the\@tempdima}%
+ \@tempdima\pxrr@body@zw\relax
+ \@tempdima\pxrr@htratio\@tempdima
+ \@tempdimb\pxrr@body@zw\relax
+ \advance\@tempdima\pxrr@ck@inter@gap\@tempdimb
+ \advance\@tempdima\@tempdimc
+ \edef\pxrr@ck@raise@S{\the\@tempdima}%
+ \let\pxrr@ck@raise@t\pxrr@ck@raise@P
+ \or
+ \@tempdimc\pxrr@ck@zw
+ \@tempdimc\pxrr@htratio\@tempdimc
+ \@tempdima-\pxrr@ruby@lower\relax
+ \@tempdimb\pxrr@ruby@zw\relax
+ \advance\@tempdimb-\pxrr@htratio\@tempdimb
+ \advance\@tempdima-\@tempdimb
+ \@tempdimb\pxrr@body@zw\relax
+ \advance\@tempdima-\pxrr@ck@ruby@inter@gap\@tempdimb
+ \advance\@tempdima-\@tempdimc
+ \edef\pxrr@ck@raise@S{\the\@tempdima}%
+ \@tempdima-\pxrr@body@zw\relax
+ \advance\@tempdima-\pxrr@htratio\@tempdima
+ \@tempdimb\pxrr@body@zw\relax
+ \advance\@tempdima-\pxrr@ck@inter@gap\@tempdimb
+ \advance\@tempdima-\@tempdimc
+ \edef\pxrr@ck@raise@P{\the\@tempdima}%
+ \let\pxrr@ck@raise@t\pxrr@ck@raise@S
+ \fi
+}
+\let\pxrr@ck@body@natwd\relax
+\let\pxrr@ck@locate\relax
+\let\pxrr@ck@kenten@list\relax
+\def\pxrr@ck@compose#1{%
+ \setbox\tw@\pxrr@hbox@to\z@{%
+ \@tempdima=\f@size\p@
+ \@tempdima\pxrr@ck@size@ratio\@tempdima
+ \edef\pxrr@ruby@fsize{\the\@tempdima}%
+ \let\pxrr@c@ruby@font\pxrr@ck@ruby@font
+ \pxrr@use@ruby@font
+ \hss\pxrr@ck@the@mark\hss
+ }%
+ \pxrr@save@listproc
+ \pxrr@decompose{#1}%
+ \def\pxrr@pre{%
+ \let\pxrr@res\@empty
+ \pxrr@ck@compose@entry\pxrr@pre
+ }%
+ \def\pxrr@inter{%
+ \pxrr@ck@compose@entry\pxrr@inter
+ }%
+ \def\pxrr@post{%
+ \pxrr@appto\pxrr@res{\pxrr@post}%
+ }%
+ \pxrr@res
+ \pxrr@restore@listproc
+ \let\pxrr@natwd\pxrr@ck@body@natwd
+ \pxrr@evenspace@int\pxrr@ck@locate\pxrr@boxb\relax
+ {\wd\pxrr@boxa}%
+ \setbox\z@\hbox{%
+ \unhcopy\z@
+ \kern-\wd\z@
+ \ifcase\pxrr@side
+ \raise\pxrr@ck@raise@P
+ \or
+ \raise\pxrr@ck@raise@S
+ \or
+ \raise\pxrr@ck@raise@t
+ \fi
+ \hb@xt@\wd\pxrr@boxa{\hss\copy\pxrr@boxb\hss}%
+ }%
+}
+\def\pxrr@ck@compose@entry#1#2{%
+ \setbox\pxrr@boxb\pxrr@hbox{#2}%
+ \edef\pxrr@tempa{%
+ \noexpand\pxrr@appto\noexpand\pxrr@res{\noexpand#1{%
+ \hb@xt@\the\wd\pxrr@boxb{\hss\copy\tw@\hss}}}%
+ }\pxrr@tempa
+}
+\def\pxrr@dumb@sub#1#2#{#1}
+\def\pxrr@dumb@ruby{%
+ \pxrr@dumb@sub\pxrr@dumb@ruby@
+}
+\def\pxrr@dumb@ruby@#1#2{#1}
+\def\pxrr@dumb@truby{%
+ \pxrr@dumb@sub\pxrr@dumb@truby@
+}
+\def\pxrr@dumb@truby@#1#2#3{#1}
+\def\pxrr@dumb@kenten{%
+ \pxrr@dumb@sub\pxrr@dumb@kenten@
+}
+\def\pxrr@dumb@kenten@#1{#1}
+\providecommand*\pdfstringdefPreHook{}
+\g@addto@macro\pdfstringdefPreHook{%
+ \ifx\pxrr@cmd@ruby\ruby
+ \let\ruby\pxrr@dumb@ruby
+ \fi
+ \let\jruby\pxrr@dumb@ruby
+ \let\aruby\pxrr@dumb@ruby
+ \let\truby\pxrr@dumb@truby
+ \let\atruby\pxrr@dumb@truby
+ \ifx\pxrr@cmd@kenten\kenten
+ \let\kenten\pxrr@dumb@kenten
+ \fi
+ \let\kspan\pxrr@dumb@kenten
+}
\endinput
%%
%% End of file `pxrubrica.sty'.