%
% 藤田眞作先生のルビマクロ furikana.sty, furiknkt.sty 活用マクロ集
% 
% 引数にコンマは非対応
%
% \kanaKKKktEd{親字}{ルビ}
%      ^^^ HKH: ひ漢ひ, HKK: ひ漢漢, KKH: 漢漢ひ, KKK: 漢漢漢
%         ^^ nk: 中ツキ, kt: 肩ツキ
%           ^^ Bg: 行頭, Ty: 行中, Ed: 行末
%% 変更履歴
% 2011/04/02	初期公開

\def\nibuskip{\hskip.5zw plus .125zw minus 0.03125zw}
\def\sibuskip{\hskip.25zw plus .125zw minus 0.03125zw}

\def\xkskip{\hskip\xkanjiskip}

% ひ漢ひ、中ツキ、行頭、親 1字ルビ 3字
\def\kanaHKHnkBgIiii#1#2{\mbox{\sibuskip\kana[1]{#1}{#2}}}
% ひ漢ひ、中ツキ、行中、親 1字ルビ 3字
\def\kanaHKHnkTyIiii#1#2{\kana[1]{#1}{#2}}
% ひ漢ひ、中ツキ、行末、親 1字ルビ 3字
\def\kanaHKHnkEdIiii#1#2{\mbox{\kana[1]{#1}{#2}\sibuskip}}

% ひ漢漢、中ツキ、行頭、親 1字ルビ 3字
\def\kanaHKKnkBgIiii#1#2{\kana[3]{#1}{#2}}
% ひ漢漢、中ツキ、行中、親 1字ルビ 3字
\def\kanaHKKnkTyIiii#1#2{\kana[1]{#1}{#2}\sibuskip}
% ひ漢漢、中ツキ、行末、親 1字ルビ 3字
\def\kanaHKKnkEdIiii#1#2{\mbox{\kana[1]{#1}{#2}\sibuskip}}

% 漢漢ひ、中ツキ、行頭、親 1字ルビ 3字
\def\kanaKKHnkBgIiii#1#2{\mbox{\sibuskip\kana[1]{#1}{#2}}}
% 漢漢ひ、中ツキ、行中、親 1字ルビ 3字
\def\kanaKKHnkTyIiii#1#2{\mbox{\sibuskip\kana[1]{#1}{#2}}}
% 漢漢ひ、中ツキ、行末、親 1字ルビ 3字
\def\kanaKKHnkEdIiii#1#2{\kana[3]{#1}{#2}}

% 漢漢漢、中ツキ、行頭、親 1字ルビ 3字
\def\kanaKKKnkBgIiii#1#2{\kana[3]{#1}{#2}}
% 漢漢漢、中ツキ、行中、親 1字ルビ 3字
\def\kanaKKKnkTyIiii#1#2{\kana[3]{#1}{#2}}
% 漢漢漢、中ツキ、行末、親 1字ルビ 3字
\def\kanaKKKnkEdIiii#1#2{\kana[3]{#1}{#2}}

% ひ漢ひ、中ツキ、行頭、親 1字ルビ 4字
\def\kanaHKHnkBgIiv#1#2{\mbox{\nibuskip\kana[1]{#1}{#2}}}
% ひ漢ひ、中ツキ、行中、親 1字ルビ 4字
\def\kanaHKHnkTyIiv#1#2{\kana[1]{#1}{#2}}
% ひ漢ひ、中ツキ、行末、親 1字ルビ 4字
\def\kanaHKHnkEdIiv#1#2{\mbox{\kana[1]{#1}{#2}\nibuskip}}

% ひ漢漢、中ツキ、行頭、親 1字ルビ 4字
\def\kanaHKKnkBgIiv#1#2{\kana[3]{#1}{#2}}
% ひ漢漢、中ツキ、行中、親 1字ルビ 4字
\def\kanaHKKnkTyIiv#1#2{\kana[1]{#1}{#2}\nibuskip}
% ひ漢漢、中ツキ、行末、親 1字ルビ 4字
\def\kanaHKKnkEdIiv#1#2{\mbox{\kana[1]{#1}{#2}\nibuskip}}

% 漢漢ひ、中ツキ、行頭、親 1字ルビ 4字
\def\kanaKKHnkBgIiv#1#2{\mbox{\nibuskip\kana[1]{#1}{#2}}}
% 漢漢ひ、中ツキ、行中、親 1字ルビ 4字
\def\kanaKKHnkTyIiv#1#2{\mbox{\nibuskip\kana[1]{#1}{#2}}}
% 漢漢ひ、中ツキ、行末、親 1字ルビ 4字
\def\kanaKKHnkEdIiv#1#2{\kana[3]{#1}{#2}}

% 漢漢漢、中ツキ、行頭、親 1字ルビ 4字
\def\kanaKKKnkBgIiv#1#2{\kana[3]{#1}{#2}}
% 漢漢漢、中ツキ、行中、親 1字ルビ 4字
\def\kanaKKKnkTyIiv#1#2{\kana[3]{#1}{#2}}
% 漢漢漢、中ツキ、行末、親 1字ルビ 4字
\def\kanaKKKnkEdIiv#1#2{\kana[3]{#1}{#2}}

%%%


% ひ漢ひ、肩ツキ、行頭、親 1字ルビ 3字
\def\kanaHKHktBgIiii#1#2{\kanakt[1]{#1}{#2}}
% ひ漢ひ、肩ツキ、行中、親 1字ルビ 3字
\def\kanaHKHktTyIiii#1#2{\kanakt[1]{#1}{#2}}
% ひ漢ひ、肩ツキ、行末、親 1字ルビ 3字
\def\kanaHKHktEdIiii#1#2{\let\KANA=\KANAmatubi%
\kana[1]{#1}{#2}\let\KANA=\KANAtop}

% ひ漢漢、肩ツキ、行頭、親 1字ルビ 3字
\def\kanaHKKktBgIiii#1#2{\kanakt[3]{#1}{#2}}
% ひ漢漢、肩ツキ、行中、親 1字ルビ 3字
\def\kanaHKKktTyIiii#1#2{\let\KANA=\KANAmatubi%
\kana[1]{#1}{#2}\let\KANA=\KANAtop}
% ひ漢漢、肩ツキ、行末、親 1字ルビ 3字
\def\kanaHKKktEdIiii#1#2{\let\KANA=\KANAmatubi%
\kana[1]{#1}{#2}\let\KANA=\KANAtop}

% 漢漢ひ、肩ツキ、行頭、親 1字ルビ 3字
\def\kanaKKHktBgIiii#1#2{\kanakt[1]{#1}{#2}}
% 漢漢ひ、肩ツキ、行中、親 1字ルビ 3字
\def\kanaKKHktTyIiii#1#2{\kanakt[1]{#1}{#2}}
% 漢漢ひ、肩ツキ、行末、親 1字ルビ 3字
\def\kanaKKHktEdIiii#1#2{\let\KANA=\KANAmatubi%
\kana[3]{#1}{#2}\let\KANA=\KANAtop}

% 漢漢漢、肩ツキ、行頭、親 1字ルビ 3字
\def\kanaKKKktBgIiii#1#2{\kanakt[3]{#1}{#2}}
% 漢漢漢、肩ツキ、行中、親 1字ルビ 3字
\def\kanaKKKktTyIiii#1#2{\kanakt[3]{#1}{#2}}
% 漢漢漢、肩ツキ、行末、親 1字ルビ 3字
\def\kanaKKKktEdIiii#1#2{\let\KANA=\KANAmatubi%
\kana[3]{#1}{#2}\let\KANA=\KANAtop}

% ひ漢ひ、肩ツキ、行頭、親 1字ルビ 4字
\def\kanaHKHktBgIiv#1#2{\kanakt[1]{#1}{#2}}
% ひ漢ひ、肩ツキ、行中、親 1字ルビ 4字
\def\kanaHKHktTyIiv#1#2{\kanakt[1]{#1}{#2}}
% ひ漢ひ、肩ツキ、行末、親 1字ルビ 4字
\def\kanaHKHktEdIiv#1#2{\let\KANA=\KANAmatubi%
\kana[2]{#1}{#2}\let\KANA=\KANAtop}

% ひ漢漢、肩ツキ、行頭、親 1字ルビ 4字
\def\kanaHKKktBgIiv#1#2{\kanakt[3]{#1}{#2}}
% ひ漢漢、肩ツキ、行中、親 1字ルビ 4字
\def\kanaHKKktTyIiv#1#2{\let\KANA=\KANAmatubi%
\kana[2]{#1}{#2}\let\KANA=\KANAtop}
% ひ漢漢、肩ツキ、行末、親 1字ルビ 4字
\def\kanaHKKktEdIiv#1#2{\let\KANA=\KANAmatubi%
\kana[2]{#1}{#2}\let\KANA=\KANAtop}

% 漢漢ひ、肩ツキ、行頭、親 1字ルビ 4字
\def\kanaKKHktBgIiv#1#2{\kanakt[1]{#1}{#2}}
% 漢漢ひ、肩ツキ、行中、親 1字ルビ 4字
\def\kanaKKHktTyIiv#1#2{\kanakt[1]{#1}{#2}}
% 漢漢ひ、肩ツキ、行末、親 1字ルビ 4字
\def\kanaKKHktEdIiv#1#2{\let\KANA=\KANAmatubi%
\kana[3]{#1}{#2}\let\KANA=\KANAtop}

% 漢漢漢、肩ツキ、行頭、親 1字ルビ 4字
\def\kanaKKKktBgIiv#1#2{\kanakt[3]{#1}{#2}}
% 漢漢漢、肩ツキ、行中、親 1字ルビ 4字
\def\kanaKKKktTyIiv#1#2{\kanakt[3]{#1}{#2}}
% 漢漢漢、肩ツキ、行末、親 1字ルビ 4字
\def\kanaKKKktEdIiv#1#2{\let\KANA=\KANAmatubi%
\kana[3]{#1}{#2}\let\KANA=\KANAtop}

%%%%

\newcount\countOya              % 親字カウンタ
\newcount\countKo               % 子字カウンタ

% \def\kazoe#1#2{%
%   \countOya\z@ % 親字数える
%   \@tfor \@tempa:=#1\do{\advance\countOya\@ne}%
%   \countKo\z@ % 子字数える
%   \@tfor \@tempa:=#2\do{\advance\countKo\@ne}%
%   \multiply\countOya by 2
%   \advance\countKo by -\countOya
%   \ifnum \countKo<1\relax １２% 親1個 子が 1・2個：子が親の範囲内
%   \else 
%   \ifnum \countKo<2\relax ３% 親1個 子が 3個：子が親より1字はみ出る
%   \else
%   ４% 親1個 子が 4個：子が親より2字以上はみ出る
%   \fi\fi
% }

\def\kanaMojisuTogo#1#2#3#4#5{%
  \countOya\z@ % 親字数える
  \@tfor \@tempa:=#1\do{\advance\countOya\@ne}%
  \countKo\z@ % 子字数える
  \@tfor \@tempa:=#2\do{\advance\countKo\@ne}%
  \multiply\countOya by 2
  \advance\countKo by -\countOya
  \ifnum \countKo<1\relax#3{#1}{#2}% 親1個 子が 1・2個：子が親の範囲内
  \else 
  \ifnum \countKo<2\relax#4{#1}{#2}% 親1個 子が 3個：子が親より1字はみ出る
  \else
  #5{#1}{#2}% 親1個 子が 4個：子が親より2字以上はみ出る
  \fi\fi
}

% ひ漢ひ、中ツキ、行頭
\def\kanaHKHnkBg#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kana}{\kanaHKHnkBgIiii}{\kanaHKHnkBgIiv}%
}

% ひ漢ひ、中ツキ、行中
\def\kanaHKHnkTy#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kana}{\kanaHKHnkTyIiii}{\kanaHKHnkTyIiv}%
}

% ひ漢ひ、中ツキ、行末
\def\kanaHKHnkEd#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kana}{\kanaHKHnkEdIiii}{\kanaHKHnkEdIiv}%
}

% ひ漢漢、中ツキ、行頭
\def\kanaHKKnkBg#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kana}{\kanaHKKnkBgIiii}{\kanaHKKnkBgIiv}%
}

% ひ漢漢、中ツキ、行中
\def\kanaHKKnkTy#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kana}{\kanaHKKnkTyIiii}{\kanaHKKnkTyIiv}%
}

% ひ漢漢、中ツキ、行末
\def\kanaHKKnkEd#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kana}{\kanaHKKnkEdIiii}{\kanaHKKnkEdIiv}%
}

% 漢漢ひ、中ツキ、行頭
\def\kanaKKHnkBg#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kana}{\kanaKKHnkBgIiii}{\kanaKKHnkBgIiv}%
}

% 漢漢ひ、中ツキ、行中
\def\kanaKKHnkTy#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kana}{\kanaKKHnkTyIiii}{\kanaKKHnkTyIiv}%
}

% 漢漢ひ、中ツキ、行末
\def\kanaKKHnkEd#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kana}{\kanaKKHnkEdIiii}{\kanaKKHnkEdIiv}%
}

% 漢漢漢、中ツキ、行頭
\def\kanaKKKnkBg#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kana}{\kanaKKKnkBgIiii}{\kanaKKKnkBgIiv}%
}

% 漢漢漢、中ツキ、行中
\def\kanaKKKnkTy#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kana}{\kanaKKKnkTyIiii}{\kanaKKKnkTyIiv}%
}

% 漢漢漢、中ツキ、行末
\def\kanaKKKnkEd#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kana}{\kanaKKKnkEdIiii}{\kanaKKKnkEdIiv}%
}

%%%

% ひ漢ひ、肩ツキ、行頭
\def\kanaHKHktBg#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kanakt}{\kanaHKHktBgIiii}{\kanaHKHktBgIiv}%
}

% ひ漢ひ、肩ツキ、行中
\def\kanaHKHktTy#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kanakt}{\kanaHKHktTyIiii}{\kanaHKHktTyIiv}%
}

% ひ漢ひ、肩ツキ、行末
\def\kanaHKHktEd#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kanakt}{\kanaHKHktEdIiii}{\kanaHKHktEdIiv}%
}

% ひ漢漢、肩ツキ、行頭
\def\kanaHKKktBg#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kanakt}{\kanaHKKktBgIiii}{\kanaHKKktBgIiv}%
}

% ひ漢漢、肩ツキ、行中
\def\kanaHKKktTy#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kanakt}{\kanaHKKktTyIiii}{\kanaHKKktTyIiv}%
}

% ひ漢漢、肩ツキ、行末
\def\kanaHKKktEd#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kanakt}{\kanaHKKktEdIiii}{\kanaHKKktEdIiv}%
}

% 漢漢ひ、肩ツキ、行頭
\def\kanaKKHktBg#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kanakt}{\kanaKKHktBgIiii}{\kanaKKHktBgIiv}%
}

% 漢漢ひ、肩ツキ、行中
\def\kanaKKHktTy#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kanakt}{\kanaKKHktTyIiii}{\kanaKKHktTyIiv}%
}

% 漢漢ひ、肩ツキ、行末
\def\kanaKKHktEd#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kanakt}{\kanaKKHktEdIiii}{\kanaKKHktEdIiv}%
}

% 漢漢漢、肩ツキ、行頭
\def\kanaKKKktBg#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kanakt}{\kanaKKKktBgIiii}{\kanaKKKktBgIiv}%
}

% 漢漢漢、肩ツキ、行中
\def\kanaKKKktTy#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kanakt}{\kanaKKKktTyIiii}{\kanaKKKktTyIiv}%
}

% 漢漢漢、肩ツキ、行末
\def\kanaKKKktEd#1#2{%
  \kanaMojisuTogo{#1}{#2}{\kanakt}{\kanaKKKktEdIiii}{\kanaKKKktEdIiv}%
}
