TeX Live 2025 が出ています。
(e)upTeX にかなり大きな更新を2つ入れupTeX u2.00 という版数でリリースしましたのでご紹介します。
副作用が出ないよう配慮しているつもりでしたが少々出てしまっているようです。それにも少し触れます。
(1) Unicode合成文字と異体字セレクタ(IVS, SVS)への対応
Unicodeでは,一つの文字を表すために複数のコードポイントの連なり(シーケンス)で示すことが規定されている文字があります。
その例が異体字セレクタ(IVS, Ideographic Variation Sequence/Selector)や絵文字シーケンス、JIS第3水準の半濁点付き仮名などです。
upTeX では従来それらの合成文字をUTF-8のプレーンテキストの入力で扱うことができませんでしたが、今回それに対応しました。
この対応のためupTeX独自の内部コードを使用しています。
現在のところ、出力側はこの文字コードを従来の文字コードに対応づける virtual font を用意する必要があります。
以下のvirtual fontにはIVSやSVSのエントリーを入れました。
* uptex-base の配布に含まれる up{jpn,sch,tch,kor}{rm,gt}-{h,v}.vf,upjis{r,g}-{h,v}.vf にSVSのエントリー
* japanese-otf の配布に含まれる upnml{minr,gothr,minb,gothb,mgothr,gotheb,minl}{,n}-{h,v}.vf にSVSとIVSとJIS第3水準の半濁点付き仮名のエントリー
これらを扱うのに dviware などの関連ソフトにも新規の拡張が要りますが、dvips, dvipdfmx, omfonts, ovp2ovf, ovf2ovp, updvitypeは対応済みで、TeX Live 2025 に含まれています。
ご利用の環境によってはIVS, SVS等を使用しないのにも関わらず処理が重くなる、などの副作用がでているようです。
その場合は、お手数ですが、とりあえずはvirtual fontをTeX Live 2024のものに戻せば元の水準に戻るはずです。
技術的な詳細は、↓で議論しています。
https://github.com/texjporg/tex-jp-build/issues/46
(2) Unicode 16bit欧文への対応 (実験的)
upTeX では従来ラテン文字・ギリシャ文字・キリル文字については欧文8bit TeXと同様のエンコーディング(T1,LGR,T2A等)でのみ扱うことが可能で、U+007Fよりも大きな文字コードのUnicodeの欧文をUnicodeのまま扱うことができませんでしたが、今回それに一部対応しました。
欧文として扱える文字コードの最大値は U+2E7F までという制限があります。メトリックの読み込みは OFM Level-0か、TFM(T1,LGR,T2A等からUnicodeへのコード変換を介してUnicodeとして扱う)が指定可能です。
kcatcode=14(latin_ucs)を指定するとupTeXエンジンはUTF-8の入力を16bit欧文として扱います。
dviware などの関連ソフトは従来の(u)pTeX対応のものがそのまま使えます。
厳密にはomega対応が必要なのですが、(u)pTeX対応の関連ソフトは大抵すでにomegaも対応しているためです。
本機能を実用にするにはフォントの用意が必要なもののまだまだ整備途上であるため、実験的と称しています。
ただし、従来の8bit欧文も同じルーチンを通過するため、従来と同じ使用法であっても今回の拡張の影響が思わぬ形で出ないか心配しています。
お気づきの点があればお知らせください。
技術的な詳細は、↓で議論しています。
https://github.com/texjporg/tex-jp-build/issues/170
どちらの更新も、upTeX開発の初期の頃(2007年頃)以来17年ぶりの久々の大改造のレベルです。
フィードバックは大歓迎です。