2021/06/01以降のpLaTeX環境と"ipamjm.sty"

Re: 2021/06/01以降のpLaTeX環境と"ipamjm.sty"

- はやて (h20y6m) の投稿
返信数: 5

ipamjm.sty の以下の部分を

    \@tempcntb=\@tempcnta
    \divide\@tempcntb by "40
    \multiply\@tempcntb by "C0
    \advance\@tempcnta by \@tempcntb
    \if@ipamjm@uplatex
        \advance\@tempcnta by "113030
        \selectfont
        \char\@tempcnta
    \else
        \advance\@tempcnta by "3030
        \selectfont
        \char\jis\@tempcnta
    \fi

以下のように修正すると直ると思います。

    \selectfont% \@tempcntb が変更される前に \selectfont を実行する
    \@tempcntb=\@tempcnta
    \divide\@tempcntb by "40
    \multiply\@tempcntb by "C0
    \advance\@tempcnta by \@tempcntb
    \if@ipamjm@uplatex
        \advance\@tempcnta by "113030
        \char\@tempcnta
    \else
        \advance\@tempcnta by "3030
        \char\jis\@tempcnta
    \fi

\kanjishape の引数の評価が \selectfont まで遅延されるようになったことが原因だと思います。

        \kanjishape{\ifcase\@tempcntb0\or1\or2\or3\or4\or5\or6\or7\or8\or9\or a\or b\or c\or d\or e\or f\fi}%

\selectfont よりも前に \@tempcntb が変更されると意図しないフォントが選択されてしまいます。

はやて (h20y6m) への返信

Re: 2021/06/01以降のpLaTeX環境と"ipamjm.sty"

- aminophen の投稿
> \selectfont よりも前に \@tempcntb が変更されると意図しない

https://github.com/texjporg/japanese-otf-mirror/commit/f530a3c6006811b9ca4c16faff5f97247653e7e8

(よく読めてませんが)これと同じような話ですかね。
(\selectfont を複数実行すると動作が遅いのかな?)
はやて (h20y6m) への返信

Re: 2021/06/01以降のpLaTeX環境と"ipamjm.sty"

- nksPdRLJAF の投稿
ご返信ありがとうございます。対応が遅れてしまい大変申し訳ございません。

ご指摘の通り\@tempcntbが変更される前に\selectfontを置いてみたところ,うまく出力されました。

お忙しい中貴重なアドバイスをいただきまして,大変ありがとうございました。
はやて (h20y6m) への返信

Re: 2021/06/01以降のpLaTeX環境と"ipamjm.sty"

- Ryo Ogawa の投稿

いつも勉強させてもらっています。

TexLive2025で環境を一新したのを機に、ipamjm周りも新しく入れ直して、昨年参考にさせてもらったこのディスカッションの情報通りにipamjm.styを修正してみました。
すると、
\MJMZM{04095} までは正しく表示されますが(くさかんむりに「遙」の中身みたいな字、読み方ヨウ、戸籍統一文字番号356860のもの)
\MJMZM{04096} 以降は全く関係ない文字に飛び、フォントもIPAmjではない通常のものになります

2023年の当初のご議論の通り、
\RequirePackage[2021/05/31]{platexrelease}
を有効にすれば、\MJMZM{04096} 以降もいちおう正しく表示はされます。
ただ、他のパッケージと組み合わせて使う場合に(特に他パッケージが新し目のplatexreleaseを求めるような場合に)このやり方では持続可能でないと感じております。

ご助言等ありましたら、ぜひとも承りたいと存じます。

Ryo Ogawa への返信

Re: 2021/06/01以降のpLaTeX環境と"ipamjm.sty"

- はやて (h20y6m) の投稿
以下のパッチのような変更を ipamjm.sty に入れるとどうでしょうか?

https://gist.github.com/h20y6m/f51942719b0f770e1970220de89ce42b
はやて (h20y6m) への返信

Re: 2021/06/01以降のpLaTeX環境と"ipamjm.sty"

- Ryo Ogawa の投稿

ありがとうございます!
早速これで問題なく動くようになりました。
やはり、\selectfont の位置がミソなんですね。。。
このGitHub、もっと検索上位に出てくればいいのにと思いました。