( の \inhibitxspcode 値は 2 なので、直後の英字との間には、
スペース挿入が禁止されていますが、
\hbox{\kern0pt (}
によって、\inhibitxspcode 値が無効になるのでしょうか?
\hbox が和文文字で終わる場合,その最後の和文文字の情報は消えてしまう(cx が更新されない)ようです.
例えば,
あ\hbox{\kern0pt(}M
の場合,\hbox と M の間に \xkanjiskip が入るか否かは,
「(」と「M」ではなく,「あ」「M」によって決まり,
その結果 \xkanjiskip が入ってしまったことになります.
似た状況ですが,
\hbox{い(}M
の場合も,\hbox と M の間に \xkanjiskip が入るか否かは,
「い」「M」によって決まってしまっています.
ひとまず作ってみたパッチを本投稿に添付しました.
例えば,
あ\hbox{\kern0pt(}M
の場合,\hbox と M の間に \xkanjiskip が入るか否かは,
「(」と「M」ではなく,「あ」「M」によって決まり,
その結果 \xkanjiskip が入ってしまったことになります.
似た状況ですが,
\hbox{い(}M
の場合も,\hbox と M の間に \xkanjiskip が入るか否かは,
「い」「M」によって決まってしまっています.
ひとまず作ってみたパッチを本投稿に添付しました.