pLaTeX2e <2020-10-01>+2 (based on LaTeX2e <2021-05-01> pre-release-2 (develop 2021-3-20 branch))
と,少し前の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そのものの意図が
そもそも理解できてないですが(^-^;
報告ありがとうございます。
おっしゃる通りです。
\delayed@f@adjustment の処理を遅らせるのが良いように思っています。
\delayed@k@adjustment の処理
→和文の処理
→\rel@///(|all) = \romanseries/\romanshape で更新
→\delayed@f@adjustment の処理
→欧文の処理
の順にすれば良さそうです。
\@forced@series フラグは,現在の「値更新を \selectfont に遅らせる」実装だと
和文と欧文で干渉しそうなので,フラグを分離した方がいいかもと思っています。
おっしゃる通りです。
\delayed@f@adjustment の処理を遅らせるのが良いように思っています。
\delayed@k@adjustment の処理
→和文の処理
→\rel@///(|all) = \romanseries/\romanshape で更新
→\delayed@f@adjustment の処理
→欧文の処理
の順にすれば良さそうです。
\@forced@series フラグは,現在の「値更新を \selectfont に遅らせる」実装だと
和文と欧文で干渉しそうなので,フラグを分離した方がいいかもと思っています。
# <...> で属性的なものを書く癖があるのですが
# フォーマットの選択を忘れました
# 一部意味不明になってましたが,
# 読み取っていただけたようで
# お手数おかけしました.
個人的には,
mdweightの取り込みまではほぼリアルタイムで
追いかけられたのですが,
多軸化で置いてけぼりになっています.
あの怒涛の更新へのご対応,
感謝し申し上げます.
>\@forced@series フラグは,現在の「値更新を \selectfont に遅らせる」
あ,なるほど,そういうことですか.
ただ,これで別の疑問(もやもや)が
出てきましたので,
やっぱり多軸化の「仕様」そのものの
理解が足りないことがわかりました.
ご教示ありがとうございました.
# フォーマットの選択を忘れました
# 一部意味不明になってましたが,
# 読み取っていただけたようで
# お手数おかけしました.
個人的には,
mdweightの取り込みまではほぼリアルタイムで
追いかけられたのですが,
多軸化で置いてけぼりになっています.
あの怒涛の更新へのご対応,
感謝し申し上げます.
>\@forced@series フラグは,現在の「値更新を \selectfont に遅らせる」
あ,なるほど,そういうことですか.
ただ,これで別の疑問(もやもや)が
出てきましたので,
やっぱり多軸化の「仕様」そのものの
理解が足りないことがわかりました.
ご教示ありがとうございました.
\@forced@series フラグについては
> (3) ファミリ毎の実際のシリーズ値の設定
辺りに関係しているのだろうと思いますが
https://github.com/latex3/latex2e/issues/579
↑ かように私もよくわかっていない状態です…。
> (3) ファミリ毎の実際のシリーズ値の設定
辺りに関係しているのだろうと思いますが
https://github.com/latex3/latex2e/issues/579
↑ かように私もよくわかっていない状態です…。