マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

jfmutil の新しいやつ(v1.1.0)

jfmutil パッケージの新しい版をリリースした。

TeX Live および W32TeX には既に反映されている。

いや、そもそも jfmutil って何?

jfmutil パッケージは jfmutil コマンドを提供する。だから TeX Live の最新版がインストールされている状態で jfmutil というコマンドを実行すると、次のようなヘルプ出力が得られる。

This is jfmutil v1.1.0 <2017/09/16> by 'ZR'.
[ZRTeXtor library v1.4.0 <2017/07/17> by 'ZR']

* ZVP Conversion
Usage: jfmutil vf2zvp0 [<options>] <in.vf> [<out.zvp0>]
       jfmutil zvp02vf [<options>] <in.zvp0> [<out.vf>]
       jfmutil vf2zvp [<options>] <in.vf> [<in.tfm> <out.zvp>]
       jfmutil zvp2vf [<options>] <in.zvp> [<out.vf> <out.tfm>]
       jfmutil zpl2tfm [<options>] <in.zvp0> [<out.vf>]
...(略)

で、この jfmutil コマンドは何かというと、要するに

pxutil コマンドとほとんど同じもの

である。PXutil パッケージTeX Live や W32TeX に入っていないので、自分でインストールする必要があった。しかし今では、pxutil を使いたいという場合は、代わりに jfmutil コマンドを使えばよい、ということである。

※現状では、GitHub のレポジトリは PXutil パッケージの下にぶら下がっている形になっている。

jfmutil と pxutil の間の違い
  • pxutil は ZRTeXtor モジュールに依存していて、これを別にインストールする必要がある。これに対して、jfmutil の方は jfmutil.pl ファイルだけで完結していて単体で動作する。CTAN に収録する場合に「ややこしいファイル構成を避けたい」と思って派生版を作ったわけである。
  • pxutil には設定ファイル(pxutil.cfg)が存在するが、jfmutil には無い。パラメタ値は全て既定値が使われる。
  • ただし、漢字コード設定については、pxutil とは異なり、外部・内部ともに“無効”( none )を指定している。すなわち、既定で -E オプションが指定されたのと同等になる。

※なお、pxutil/jfmutil の 1.0.0 版以降は、前の版(0.6.3 版)に比べて大幅に速度改善が行われている。

そして、新しい jfmutil の話

jfmutil の 1.1.0 版では新たに

pxcopyfont と同じことができるようになった。

つまり、「TeX の仮想フォント(VF・TFM ファイルの組)を別名で複製する」機能が追加された。

jfmutil で pxcopyfont する話

例えば、pxcopyfont パッケージの解説記事に冒頭にある、次の図のような複製を行いたいとする。

pxcopyfont を使うと、次のようにできる。(> はプロンプト)

> pxcopyfont upjisr-h foo-r-jy2 r-foo-r-jy2 r-foo-r-jy2x

これと同じことを、jfmutil を使って、次のようにできる。引数の書き方は pxcopyfont と全く同じである。

> jfmutil vfcopy upjisr-h foo-r-jy2 r-foo-r-jy2 r-foo-r-jy2x
jfmutil: number of base TFMs in 'upjisr-h': 2
jfmutil: id=0: uprml-h: r-foo-r-jy2
jfmutil: id=2: upjisr-hq: r-foo-r-jy2x
pxcopyfont のアレを jfmutil でやる

なお、pxcopyfont は引数が 1 つだけ(入力 VF しかない)の場合、その VF の参照 TFM の一覧を出力するという動作になる。

> pxcopyfont upjisr-h
VF 'upjisr-h' refers to:
000:uprml-h
002:upjisr-hq

この機能は、jfmutil では別のサブコマンドで利用できる。jfmutil vfcopy ではなくて、jfmutil vfinfo として実行する。(出力形式は少し異なる。)

> jfmutil vfinfo upjisr-h
0=uprml-h
2=upjisr-hq

というわけで

イマドキの TeX Live では、pxutil だけでなくて pxcopyfont もできる!