dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- gbb 60166 の投稿
返信数: 16

gbb60166です。TeXLive2025を使っていて気づいたので質問します。

\documentclass{jsarticle}
\usepackage{otf}
\begin{document}
あいう
\end{document}

をuplatexでコンパイルすると一瞬で終わりますが、dvipdfmxで変換しようとすると数十秒かかります。

\usepackage{otf}をコメントアウトするとuplatexのコンパイルもdvipdfmxの変換も一瞬で終わります。haranoajiフォントでもhiraginopronフォントでも同じ状況です。

職場のWindows10と、自宅のWindows7どちらも同じ状況です。どなたか試してみていただけないでしょうか?

gbb 60166 への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- 和田 勇 の投稿
Windows 10 ないし Windows 7 での再現環境をどうするか考えてはいるのですが

コンパイルを試みようとしているのですが、「あいう」の後に X の二乗 のような表記がされているのですが、
これを私の環境では容易にそのままのコードでは取得できません。

ですので、お試しのソースファイルを添付ファイルとしてアップロードしていただけませんか?
ついでですので、その時生成される .log も一緒に添付してください。

また 「uplatex ホゲ」の後「dvipdfmx ホゲ」とされていると思いますが
「 dvidfmx  -vvv  ホゲ 」で画面出力される情報をコピペでテキストファイルにしたものも
添付してください。

以上三つの情報を添付ファイルでアップロードしてください。
和田 勇 への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- gbb 60166 の投稿

すみません。TeXのコマンドを書くとコンパイルされた状態で表示されてしまうのが分かっていなくて、後で気づいてコマンドを削除したソースに修正しました。エラーが出るソースは

\documentclass{jsarticle}
\usepackage{otf}
\begin{document}
あいう
\end{document}

で、エラーログは下記のとおりです。

C:\001>dvipdfmx -vvv error > lloogg.txt
<FONTMAP:c:/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map><FONTMAP:c
:/texlive/2025/texmf-var/fonts/map/dvipdfmx/updmap/kanjix.map><FONTMAP:c:/texliv
e/2025/texmf-dist/fonts/map/dvipdfmx/ckx.map>DVI File Info
Unit: 25400000 / 473628672
Magnification: 1000
Media Height: 46252776
Media Width: 29689852
Stack Depth: 3
Page count:         1
DVI Comment:  TeX output 2025.03.13:2050

DVI file font info
TeX Font: upnmlminr-h loaded at ID=   60, size= 9.21pt (scaled 92.5%)
TeX Font:      cmr10 loaded at ID=   27, size= 9.96pt (scaled 100.0%)
error.dvi -> error.pdf
<AGL:texglyphlist.txt><AGL:pdfglyphlist.txt><AGL:glyphlist.txt>[1<upnmlminr-h@9.
21pt(TFM:upnmlminr-h[c:/texlive/2025/texmf-dist/fonts/tfm/public/japanese-otf/up
nmlminr-h.tfm])(VF:c:/texlive/2025/texmf-dist/fonts/vf/public/japanese-otf/upnml
minr-h.vf(TFM:uphminr-h[c:/texlive/2025/texmf-dist/fonts/tfm/public/japanese-otf
/uphminr-h.tfm])<uphminr-h@9.21pt
fontmap: uphminr-h -> HiraMinProN-W3.otf(UniJIS-UTF16-H)
(CMap:UniJIS-UTF16-H)(CID:HiraMinProN-W3)
pdf_font>> Type0 font "HiraMinProN-W3.otf" cmap_id=<UniJIS-UTF16-H,2> font_id=<u
phminr-h,1>.
>(TFM:cidjmr0-h[c:/texlive/2025/texmf-dist/fonts/tfm/public/japanese-otf/cidjmr0
-h.tfm])<cidjmr0-h@9.21pt(VF:c:/texlive/2025/texmf-dist/fonts/vf/public/japanese
-otf/cidjmr0-h.vf(TFM:otf-cjmr-h[c:/texlive/2025/texmf-dist/fonts/tfm/public/jap
anese-otf/otf-cjmr-h.tfm])<otf-cjmr-h@9.21pt
fontmap: otf-cjmr-h -> HiraMinProN-W3.otf(Identity-H)

pdf_font>> Type0 font "HiraMinProN-W3.otf" cmap_id=<Identity-H,0> found at font_
id=<uphminr-h,1>. (re-encoded)
>)(VF)>(TFM:cidjmr--h[c:/texlive/2025/texmf-dist/fonts/tfm/public/japanese-otf/c
idjmr--h.tfm])<cidjmr--h@9.21pt(VF:c:/texlive/2025/texmf-dist/fonts/vf/public/ja
panese-otf/cidjmr--h.vf<otf-cjmr-h@9.21pt>)(VF)>)(VF)>
dvipdfmx:warning: Fallback multibyte character in virtual font: VF:upnmlminr-h c
har=0x003042(12354) to TFM:uphminr-h
dvipdfmx:warning: Fallback multibyte character in virtual font: VF:upnmlminr-h c
har=0x003044(12356) to TFM:uphminr-h
dvipdfmx:warning: Fallback multibyte character in virtual font: VF:upnmlminr-h c
har=0x003046(12358) to TFM:uphminr-h
<cmr10@9.96pt(TFM:cmr10[c:/texlive/2025/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
])
fontmap: cmr10 -> cmr10.pfb

pdf_font>> Simple font "cmr10.pfb" enc_id=<builtin,-1> font_id=<cmr10,3>.
>][Type0](cmr10.pfb[GZXFBS+CMR10][built-in][Type1][glyphs:/.notdef/one][2 glyphs
][348 bytes]):HiraMinProN-W3.otf[HiraMinProN-W3][CIDFontType0][4/20325 glyphs][2
573 bytes]
Compression saved 1732 bytes
3665 bytes written

gbb 60166 への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- gbb 60166 の投稿
自分で気づいたので投稿します。HDDの空き容量が少ないので不必要と思ったパッケージをインストールしていないのが原因かもしれません。もう少し自分で調べます。
gbb 60166 への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- はやて (h20y6m) の投稿
確かに uplatex+otf で dvipdfmx の処理時間がかかるようになっていますね。
(手元の環境では TL2024: 約 0.2 秒, TL2025: 約 4 秒)

おそらくですが upnmlminr-h.vf の読み込みに時間がかかっていそうです。
https://github.com/texjporg/japanese-otf-mirror/issues/28
で Adobe-Japan-1 の IVS などが1万5千文字ほど追加された影響だと思います。
はやて (h20y6m) への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- はやて (h20y6m) の投稿
訂正
文字数というよりも文字コードの範囲が広いことが影響しているようです。
(resize_one_vf_font 関数でのメモリ再確保&コピーがかなりの回数になる)
はやて (h20y6m) への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- t tk の投稿
皆さん、ご報告ありがとうございます。

Adobe-Japan-1 の IVS などを1万5千文字ほど追加した結果、メモリー確保に時間が掛かるようになった、
という見立てはおそらく当たっていると思います。

処理時間の観点で許容ができないのであれば、
即時に対応するには upnmlminr-h.vf などを古いものに戻せば処理時間ももとに戻ると思います。
ややこしいようであれば、japanese-otf のパッケージ全体をTeX Live 2024 のものに戻せばよいです。

現在のソースコードから vf を作り直すことが可能であるならば、
japanese-otf-uptex/umakeotf の中の umkjvf のオプションの列から
-svs script/svs_list_j.txt -ccmb
のオプションを削除して vf を再生成すればよいです。

今後は、IVSをオプションで選択したときした使わないような対策を考えたいと思います。
t tk への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- gbb 60166 の投稿

ありがとうございます。

職場のパソコンは性能が低いのかdvipdfmx変換時に90秒ほどかかってしまうので、即時対応を試してみたいと思います。

gbb 60166 への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- gbb 60166 の投稿
変換に90秒かかるというのは勘違いでしたが(他のソースファイルでした)職場のパソコンは性能が低いので
\documentclass{jsarticle}
\usepackage{otf}
\begin{document}
あいう
\end{document}
をdvipdfmxで変換すると25秒かかりました。
gbb 60166 への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- t tk の投稿
dvipdfmx でvirtual fontの情報を保存するメモリーの効率がよくなるように変更し、TeX Live svnにコミットしました。
https://svn.tug.org:8369/texlive?revision=74668&view=revision
Version 20250317 としました。
私の手元の環境ではメモリー確保の部分の速度は3倍以上速くなっています。

お使いの環境はwindowsのようですが、どこかでこの新版のバイナリーを入手してお試しいただけると、かなり改善しているはずと思います。
それでも vf をSVS/IVSが含まれない旧版に戻す方がもっと速くなる (TeX Live 2024同等になる) と思いますが。
t tk への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- gbb 60166 の投稿
そのうちdvipdfmx20250317にアップデートされるのかと思って毎日 TeX Live Shellを起動していますが、dvipdfmx --version で確認しても20250205のままです。新版のバイナリー(Windows版)はTeX Live Shellで入手できるようになるのでしょうか?
gbb 60166 への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- t tk の投稿
お待たせしておりますが
TeX Live の正規の更新のスケジュールは通常年1回でして
dvipdfmx20250317以降がその正規版に入るのは通常TeX Live 2026 でして、それを待たないといけないことになります。
緊急のバグフィックスなどが入れば、それと同時に入る可能性もありますが可能性は低いです。
どこかで TeX Liveの開発版のバイナリーを配布しているところがあれば助かるのですが私は存じません。
t tk への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- gbb 60166 の投稿
回答ありがとうございます。前回
https://okumuralab.org/tex/mod/forum/discuss.php?d=3743
TeX Live Shellでアップデートできたので、今回もそうなると思い込んでいました。対処策を考えます。
t tk への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- ut の投稿
# TeX Live を使ったことがないので、これは、余談と言いますか、
# 単なる素朴な疑問です。

TeX Live のアーカイブを見てみますと、3/18 のアップデートで、
dvipdfmx.dll が更新されています。

そのため、dvipdfmx --version で表示される version が 20250205
のママであっても、既に中味は更新されているのかな、と一瞬思った
のですが、dvipdfmx.dll の Revision Log を見てみますと、3/17 に、
一旦、

> rebuild dvipdfmx.dll, luatex.dll etc.

とされた一時間後に、

> revert dvipdfmx.dll

となっているので、何らかの理由で、結局すぐに 2/9 のものに戻さ
れたということなのでしょうか。


【参考】
------------------------------------------------------------
(1)CTAN/systems/texlive/tlnet/archive/

dvipdfmx.windows.r72920.tar.xz  21-Nov-2024 00:48  353616
dvipdfmx.windows.r73949.tar.xz  13-Feb-2025 00:48  355780
dvipdfmx.windows.r74684.tar.xz  18-Mar-2025 00:50  355664
dvipdfmx.windows.tar.xz          18-Mar-2025 00:50  355664


(2)2024 年の例(更新されたっぽい)
   2024-04-09 と 2024-04-10 の dvipdfmx.windows
   cf: https://okumuralab.org/tex/mod/forum/discuss.php?d=3743

[tlnet: 2024-04-09] dvipdfmx.windows.r70450
2023/02/19  08:00            6,144 dvipdfm.exe
2024/03/07  07:39        1,185,792 dvipdfmx.dll <---
2023/02/19  08:00            6,144 dvipdfmx.exe
2023/02/19  08:00            6,144 ebb.exe
2023/02/19  08:00            6,144 extractbb.exe
2023/02/19  08:00            6,144 xdvipdfmx.exe

[tlnet: 2024-04-10] dvipdfmx.windows.r70904
2023/02/19  08:00            6,144 dvipdfm.exe
2024/04/10  07:00        1,185,792 dvipdfmx.dll <---
2023/02/19  08:00            6,144 dvipdfmx.exe
2023/02/19  08:00            6,144 ebb.exe
2023/02/19  08:00            6,144 extractbb.exe
2023/02/19  08:00            6,144 xdvipdfmx.exe


(3)今回の場合(実際は更新はされていない?)
   2025-03-17 と 2025-03-18 の dvipdfmx.windows

[tlnet: 2025-03-17] dvipdfmx.windows.r73949
2023/02/19  08:00            6,144 dvipdfm.exe
2025/02/09  09:45        1,192,448 dvipdfmx.dll <---
2023/02/19  08:00            6,144 dvipdfmx.exe
2023/02/19  08:00            6,144 xdvipdfmx.exe

[tlnet: 2025-03-18] dvipdfmx.windows.r74684
2023/02/19  08:00            6,144 dvipdfm.exe
2025/03/18  08:07        1,192,448 dvipdfmx.dll <---
2023/02/19  08:00            6,144 dvipdfmx.exe
2023/02/19  08:00            6,144 xdvipdfmx.exe


(4)dvipdfmx.dll の Revision Log より(抜粋)

Revision 70450
Modified Wed Mar 6 22:39:32 2024 UTC
File length: 1185792 byte(s)
rebuild dvipdfmx.dll

Revision 70904
Modified Tue Apr 9 22:00:32 2024 UTC
File length: 1185792 byte(s)
update dvipdfmx.dll


Revision 73796
Modified Sun Feb 9 00:45:22 2025 UTC
File length: 1192448 byte(s)
tl25 binaries for windows

Revision 74680
Modified Mon Mar 17 21:53:45 2025 UTC
File length: 1185280 byte(s)
rebuild dvipdfmx.dll, luatex.dll etc.

Revision 74684
Modified Mon Mar 17 23:07:24 2025 UTC
File length: 1192448 byte(s)
revert dvipdfmx.dll

------------------------------------------------------------
はやて (h20y6m) への返信

Re: dvipdfmx20250205と\usepackage{otf}で処理に時間がかかる

- gbb 60166 の投稿
ありがとうございます。
本日はここまでしか対応出来ないので、返信は明日以降になります。