Closed aminophen closed 4 years ago
元の bm パッケージの issue は別の方法が提案されたので不要になりました。一方で,ptex-ng には(いつのまにか)採用されたようです。さてどうしよう…。
pTeX 系列だと,
> \tenrm=select font cmr10.
> \tenmin=select font min10.
> \tentmin=select font tmin10.
と,\meaning しても欧文フォント・和文フォントのどちらかすぐにはわからないので,\ifjfont
の有用性が全くないわけではないですね(しかし,どこまで有用なのかはまだ考えていません).
% ちなみに,LuaTeX-ja だと
> \tenrm=select font cmr10.
> \tenmin=\protected macro:
->\ltj@curjfnt 51\relax .
> \tentmin=\protected macro:
->\ltj@curtfnt 57\relax .
% と \meaning の結果だけで区別できます.
e-pTeX 190709 で \iffontchar が拡張されたので, ~それをうまく使えば「ある fontdef トークンが和文フォントかどうか」は判定できそうです。~ (例:「\iffontchar\somefont57505 が真かどうか」)
is_char_kanji(57505)
と同義である。
is_char_kanji
は非負かどうかの判定なので,当然真になる。すると,\ifjfont と \iftfont は「和文横組か和文縦組かの判定に使える」程度ですかねえ。
[edit] ptex-manual の更新見ました。そうか \iffontchar は欧文フォントでは Bad character code のせいで使えないのか…。
正直 e-TeX の \currentiftype とかみたいに「何に使えるのかよくわからない」代物もあるので,あって迷惑でなければ仲間に入れていただければと思います。
和文フォントの組方向判定がどこかで必要になる機会が出てくるかもしれませんから,今のうちに入れてしまいましょう.
ありがとうございます。ChangeLog も付けて r53681 でコミットしました。プリミティブ追加ですが,昨年の #93 で p3.8.2 → p3.8.3 へ上げていたため,TeX Live 2019 と 2020 の正式版どうしは区別可能とみなし,今回バージョン番号は p3.8.3 のままにしました。
@aminophen 早起きです(笑)
雪が多くて会社に行けるかどうか不安だったので早起きしました😅
https://github.com/texjporg/jsclasses/issues/53#issuecomment-581934655 参照。網羅的ではないかもしれませんがテストケース: