\DeclareRelationFontの不具合?
と,少し前のplatex-devで動かしてますが,
当該箇所の
texjp.orgのplcore.ltxのソースでも
ほぼ同じだったので,
たぶん現在のものでも同じだと思います
かなり不遇な扱いの\DeclareRelationFont/\userelfontに関して,
例えば
\documentclass{jartice}
\DeclareRelationFont{JY1}{mc}{m}{n}{T1}{ptm}{b}{it}
\begin{document}
\userelfont\selectfont
あああTimes Bold Italic??れれれれ
\end{document}
とすると,欧文がT1/ptm/b/itになるはずですが,
実際は,T1/ptm/m/nになっているようです.
ここ最近のplcore.ltxの\selectfontの変更で
\delayed@f@adjustment
\delayed@k@adjustment
が入り込んでますが,
\delayed@f@adjustment関連の処理は
\selectfontの先頭だと早すぎるのではないかと思います.
\DeclareRelationFontで従属欧文がリンクされている場合
\delayed@(k|f)@adjustment関係の処理が
\selectfontの最初の方でなされたあとに,
和文の処理が終わって.その次に
\rel@///(|all)が実行されて
このとき\romanseries/\romanshapeで
\delayed@f@adjustmentが更新されていますが,
すでに\delayed@f@adjustmentの処理は終わっているので,
この更新が実際の\f@series/\f@shapeに反映されないまま
欧文のフォント変更がなされていると思います.
\f@encoding/\f@familyは更新されているでの
書体は変わることは変わりますが,series/shapeは変わってません.
これの修正は,、
\selectfontの定義の中で
\let\font\afont
<ここに\ifx\delayed@f@adjustment\@empty ... \fiを移す>
\xdef\font@name{\csname\curr@fontshape/\f@size\endcsname}%
とするといいのかと思います.
\@forced@seriesflaseは
\ifx\delayed@k@adjustment\@empty ... \fiの直後に
残さないといけないのかとは思います.
\@forced@seriesfalseそのものの意図が
そもそも理解できてないですが(^-^;