問題点

問題点

バグレポート

参照マックス・チェルノフのコメント最初の場所への道案内と、2 番目と 3 番目の場所への案内をしてくれた Max に感謝します。

バージョン

バニラ(つまりアップストリーム)TeX Live 2024 は最新ではありません。

$ luaotfload-tool --version

luaotfload-tool:
Luaotfload font management and diagnostic utility.
License: GNU GPL v2.0.
Report problems to <https://github.com/latex3/luaotfload/issues>

luaotfload-tool version: "3.28"
Revision: nil
Lua interpreter: stock; version "Lua 5.3"
Luatex version: 1.18
Platform: type=unix name=linux
+  machine: x86_64
+ nodename: MyComputer
+  release: 6.8.2-arch2-1
+  sysname: Linux
+  version: #1 SMP PREEMPT_DYNAMIC Thu, 28 Mar 2024 17:06:35 +0000
Index: version=6 created="2024-03-26 19:18:36" modified="2024-04-05 01:10:24"

そして

$ tlmgr info luaotfload
package:     luaotfload
category:    Package
shortdesc:   OpenType 'loader' for Plain TeX and LaTeX
longdesc:    The package adopts the TrueType/OpenType Font loader code provided in ConTeXt, and adapts it to use in Plain TeX and LaTeX. It works under LuaLaTeX only.
installed:   Yes
revision:    70232
sizes:       src: 25k, doc: 1105k, run: 7665k, bin: 5k
relocatable: No
cat-version: 3.28
cat-license: gpl2
cat-topics:  font-use luatex
cat-contact-support: https://github.com/latex3/luaotfload/issues
cat-contact-repository: https://github.com/latex3/luaotfload
collection:  collection-luatex

問題点

私は LuaTeX をあまり使用していませんが、私の知る限り、エンジンはシステム上でフォントを見つけて使用するのに問題はありません。

- 探す

しかし、コマンドラインで使用しようとするとluaotfload-tool、話は別です。フォントのリストを生成したり、バージョンを報告したり、ヘルプメッセージを中継したりすることは問題ありませんが、データベースを検索しようとすると失敗します。

$ luaotfload-tool --find "Noto Sans"
...4/texmf-dist/tex/luatex/luaotfload/luaotfload-arabic.lua:19: attempt to index a nil value (global 'node')

--diagnose=ファイル

これを診断するために、ヘルプ メッセージにリストされている最初の「チェック」オプションを試しました。

$ luaotfload-tool --diagnose=files
luaotfload | diagnose : ================ verify files =================
luaotfload | diagnose : Luaotfload revision 73dac18445938c6c54118045944817c4e8c59a1c.
luaotfload | diagnose : Committed by Marcel Fabian Krüger <[email protected]>.
luaotfload | diagnose : Timestamp 2024-02-28 06:18:10 +0100.
luaotfload | diagnose : Testing 88 files for integrity.
<successful lines omitted>
luaotfload | diagnose : FAILED: file mktests missing.
luaotfload | diagnose : FAILED: file mkstatus missing.
luaotfload | diagnose : FAILED: file mkcharacters missing.
luaotfload | diagnose : FAILED: file mkglyphlist missing.
luaotfload | diagnose : FAILED: file mkimport missing.
<successful lines omitted>
luaotfload | diagnose : ===============================================
WARNING
===============================================

The diagnostic detected 5 errors.

This version of luaotfload may have been
tampered with. Modified versions of the
luaotfload source are unsupported. Read the log
carefully and get a clean version from CTAN or
github:

× http://www.ctan.org/pkg/luaotfload
× https://github.com/latex3/luaotfload/releases

If you are uncertain as to how to proceed, then
ask on the lualatex mailing list:

http://www.tug.org/mailman/listinfo/lualatex-dev

===============================================

正直に言うと、このメッセージは過度に警戒心を煽っているように思える。可能誰かが私の のコピーを改ざんしたというluaotfload-tool可能性は低いようです。(もしそれが何か悪事を企てた試みであるなら、それは極めて不適切であるように思われます。)

残りの「チェック」はどうなりますか?

  • environmentindexそしてrepositoryみんなが私に言うmay sleep well
  • repositoryそれでもリポジトリへのアクセスがないと報告されますが、これは TeX Live のパッケージを使用しているため予想されたことです。

--diagnose=権限

しかし、permissions再びトラブルが報告されています。

luaotfload | diagnose : =============== file permissions ==============
luaotfload | diagnose : Checking permissions of /home/username/.texlive2024/texmf-var/luatex-cache/generic/.
luaotfload | diagnose : Owner: 1000, group 1000, permissions rwxr-xr-x.
luaotfload | diagnose : Readable: ok.
luaotfload | diagnose : Writable: ok.
luaotfload | diagnose : Checking permissions of /home/username/.texlive2024/texmf-var/luatex-cache/generic/names.
luaotfload | diagnose : Owner: 1000, group 1000, permissions rwxr-xr-x.
luaotfload | diagnose : Readable: ok.
luaotfload | diagnose : Writable: ok.
luaotfload | diagnose : Checking permissions of /home/username/.texlive2024/texmf-var/luatex-cache/generic/names/luaotfload-names.lua.gz.
luaotfload | diagnose : Owner: 1000, group 1000, permissions rw-r--r--.
luaotfload | diagnose : Readable: ok.
luaotfload | diagnose : Writable: ok.
luaotfload | diagnose : Checking permissions of /home/username/.texlive2024/texmf-var/luatex-cache/generic/names/luaotfload-names.luc.

attr    /home/username/.texlive2024/texmf-var/luatex-cache/generic/names/luaotfload-names.luc   nil

ファイルが存在しないため、これは失敗します。luaotfload-names.lucは存在しますが、 として圧縮された形式でのみ存在します。 これは、LuaTeX を使用する場合には問題ないようです。luaotfload-names.luc.gzただし、 の場合は問題があります。luaotfload-tool

まとめ

つまり、どうやら私は 1 つではなく 2 つの問題を抱えているようです。

  1. luaotfload-toolTeX Live パッケージ (私のコピー) には存在しない 5 つのスクリプトが見つかると思われます。
  2. luaotfload-tool非圧縮形式の名前のデータベースが見つかるものと想定されますが、(少なくともデフォルトでは) データベースは圧縮形式でのみ作成されます。

これらはソフトウェア エラー、パッケージ エラー、意図的な変更、あるいは単なるユーザーの愚かさでしょうか?

注記:私が MWE を提供しないのは、それが MNWE ではなく MWE になるからです。ドキュメントのコンパイルに問題は発生していません。

関連情報