問題

問題

錯誤報告

也可以看看馬克斯·切爾諾夫的評論。感謝馬克斯對第一個問題的指導以及對第二和第三個問題的提示。

版本

Vanilla(即上游)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 的套件。

--診斷=權限

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存在,但僅以壓縮格式為luaotfload-names.luc.gz.這在使用 LuaTeX 時顯然沒問題,但在luaotfload-tool.

概括

所以我顯然有兩個問題,而不是一個:

  1. luaotfload-tool期望找到 5 個不存在的腳本,這些腳本不存在於 TeX Live 套件(我的副本)中。
  2. luaotfload-tool期望找到未壓縮格式的名稱資料庫,但(至少預設)該資料庫僅以壓縮格式建立。

這些是軟體錯誤、打包錯誤、有意的修改還是只是使用者的愚蠢行為?

筆記:我沒有提供 MWE 正是因為它將是 MWE 而不是 MNWE --- 我沒有看到編譯文檔時出現任何問題。

相關內容