日本語Lua(La)TeXのソースがコンパイルできなくなった

Re: 日本語Lua(La)TeXのソースがコンパイルできなくなった

- 和田 勇 の投稿
返信数: 9

Table of Contents

  1. ハードリンクでは OK とのこと
  2. そこで実験のお願い

ハードリンクでは OK とのこと

  • 一つの解決策が掴めてよかったですね。

  • シンボリックリンクが何故ダメなのか不明ですが、ハードリンクでのファイ ルを読みこむと各種フォント情報が得られたようですね。

  • 今までのお話で五桁の数字のファイルにはなんらかの処理が施されていてな んらかのツールやライブラリ経由でないとフォントの各種情報は読み取れな いものだと思っていましたが、ハードリンクでOKなら直接アクセスしてみて はどうかと‥‥‥

そこで実験のお願い

  • いちろう さんの報告にもありましたが、以下の参考URL によれば Adobe フォントは %AAPPDATA%\Adobe\CoreSync\plugins\livetype に関係するファイ ルが配置されているようです。その下の 「r」ディレクトリには Windows 用のフォントが収容されています。

  • さて「文字化けで困っています」を見ると以下のようなことが書かれていました。

    • 「Distillerを起動し、設定メニューの「フォントの場所」で、下記フォ ルダを追加してください」

    • 追加内容は、「 ~\AppData\Roaming\Adobe\CoreSync\plugins\livetype\ の下にあるディレクトリを全部追加」

    • これをみて texmfcnf.lua の OSFONTDIR にこれを追加したら読めるのではと思い 実験の依頼です。

    • texmfcnf.lua の変更内容

      OSFONTDIR = "$SystemRoot/fonts//;$LOCALAPPDATA/Microsoft/Windows/Fonts//;$APPDATA/Adobe/CoreSync/plugins/livetype/r//",
      
    • 確認方法

      「ハードリンク設定解除」は前提条件です。

      luaotfload-tool-uvvvv
      

      上記結果の中から %APPDATA% 以下のパスのファイルがあるか否か

和田 勇 への返信

Re: 日本語Lua(La)TeXのソースがコンパイルできなくなった

- い ちろう の投稿

和田様

返信遅れまして、申し訳ありません。

実験結果の中から %APPDATA% 以下のパスのファイルがあるか否かですが、「否」でした(出力結果を添付ファイルにしました)。

やはり何らかの原因でシンボリックリンクではだめになり、ハードリンクならOKという状況になったようです。

以前はどちらのリンクだとしても問題になってなかっただけに、なぜなのかというのが引っかかりますね…。

TeX Live側からAdobe Fontsのシンボリックリンクを読みに行けなくなる事象がTeX Liveのアップデートの影響なのか、それとも(ベンダーのAdobe以外にはどうにも対処できないであろう)Adobe Fonts側のスクランブル方法変更の影響なのか、という感じになるのでしょうか。

結果は「否」ではありましたが、追加の実験のご提案、ありがとうございました。

よろしくお願いします。

(投稿者からの依頼で添付ファイルを削除しました - 奥村 晴彦 により編集 - 最初の投稿日時 2024年 10月 22日(火曜日) 09:48)

い ちろう への返信

Re: 日本語Lua(La)TeXのソースがコンパイルできなくなった

- 和田 勇 の投稿

ううむ、残念ですね。 他の小塚フォントをお使いの方の登場を待つことにしましょう。

が 添付された result.txt に記録された「OSFONTDIR のエントリ数」が 2 になっていますね。

業務などに支障にならない範囲で追試していただければ幸いと思います。

以下はこちらで調べた情報です。

rg OS result.txt

結果↓↓
13:luaotfload | db : Scanning TEXMF and $OSFONTDIR for fonts...
14:luaotfload | db : $OSFONTDIR has 2 entries:

試しに当方でエントリを以下に示す差分のように追加してみましたが 3 エントリになります。

luaotfload-tool -uvvvv | rg OS

結果↓↓
luaotfload | db : Scanning TEXMF and $OSFONTDIR for fonts...
luaotfload | db : $OSFONTDIR has 3 entries:

オリジナルとの差分を以下に示します。

--- "C:\texlive\2024\texmfcnf.lua.orig"
+++ "C:\texlive\2024\texmfcnf.lua"
@@ -10,7 +10,7 @@
 return {
   content = {
     variables = {
-      OSFONTDIR = "$SystemRoot/fonts//;$LOCALAPPDATA/Microsoft/Windows/Fonts//",
+      OSFONTDIR = "$SystemRoot/fonts//;$LOCALAPPDATA/Microsoft/Windows/Fonts//;$APPDATA/Adobe/CoreSync/plugins/livetype/r//",
     },
   },
 }
和田 勇 への返信

Re: 日本語Lua(La)TeXのソースがコンパイルできなくなった

- い ちろう の投稿

和田様

ご指摘の「2」が「3」となるべきではないかという点ですが、私のほうでは何度試しても「2」のままでした。

texmf.cnf.lua の更新方法がまずかったのでしょうか。そうであれば、ご指摘いただければと思います。

texmf.cnf.lua を書き換え、mktexlsr を実行してから実験に入りましたが、何度試しても結果はこちらでは「2」のままでした。


添付ファイルの通りです(先のレスのファイルはWindowsファイルのログインユーザ名公開に問題があるため、削除依頼を出しております。rerult2.txtは削除依頼を出したファイルとWindowsファイルのログインユーザ名が異なるだけで同じです)。

い ちろう への返信

Re: 日本語Lua(La)TeXのソースがコンパイルできなくなった

- 和田 勇 の投稿
「texmf.cnf.lua」は単純にタイプミスと判断し「texmfcnf.lua」と読み替えています。
このファイルは mktexlsr の対象外のようですので mktexlsr は不要のようです。

修正されたファイルのパスは C:\texlive\2024\texmfcnf.lua ですよね。

コマンドプロンプトで「 type C:\texlive\2024\texmfcnf.lua 」
と入力したとき「type」の行も含めた表示されたものを
スクリーンショットでも文字列の選択によりコピペでも良いので
提示してください。

   
和田 勇 への返信

Re: 日本語Lua(La)TeXのソースがコンパイルできなくなった

- い ちろう の投稿

和田様、以下がタイプセットしたときのソースです。よろしくお願いします。

C:\>type C:\texlive\2024\texmfcnf.lua
-- (Public domain.)
-- This texmfcnf.lua file should contain only your personal changes from the
-- original texmfcnf.lua (for example, as chosen in the installer).
--
-- That is, if you need to make changes to texmfcnf.lua, put your custom
-- settings in this file, which is .../texlive/YYYY/texmfcnf.lua, rather than
-- the distributed file (.../texlive/YYYY/texmf-dist/web2c/texmfcnf.lua).
-- And include *only* your changed values, not a copy of the whole thing!

return {
  content = {
    variables = {
      OSFONTDIR = "$SystemRoot/fonts//;$LOCALAPPDATA/Microsoft/Windows/Fonts//;$APPDATA/Adobe/CoreSync/plugins/livetype/r//",
    },
  },
}

い ちろう への返信

Re: 日本語Lua(La)TeXのソースがコンパイルできなくなった

- 和田 勇 の投稿

私の環境で「3」と表示されていた原因は、Noto JP フォントをインストールした時 何故か 「Deleted」ディレクトリが作成された状態で、それをカウントしたたためと思われます。

改めて luaotfload のデバッグ情報を確認すると小塚フォントがインストールされている ディレクトリは対象外になっていますね。

      luaotfload | db : $OSFONTDIR has 2 entries:
      luaotfload | db : [1] c:/Windows/fonts
      luaotfload | db : [2] c:/Users/i-wada/AppData/Local/Microsoft/Windows/Fonts
      luaotfload | db : Path "." matches $PWD ("c:/users/i-wada"), skipping.

この原因はどこにあるか、暇な時間を見つけて検討してみます。

ですので、とりあえずハードリンクで運用する方向で検討してください。

和田 勇 への返信

Re: 日本語Lua(La)TeXのソースがコンパイルできなくなった

- 和田 勇 の投稿

私家版琉球大学大学院理工学研究科数理科学専攻修士論文用スタイルファイル 20210104版 のページを「OSFONTDIR」で検索した結果をみて、 C:/texlive/texmf-local/web2c/texmf.cnf (無ければ新設)に OSFONTDIR の値を定義したら、 Adobe の小塚フォントがインストールされているディレクトリも db 化作業の対象ディレクトリに加えられるようです。

追加 の C:\texlive\texmf-local\web2c\texmf.cnf 内容

      OSFONTDIR = $SystemRoot/fonts//;$LOCALAPPDATA/Microsoft/Windows/Fonts//;$APPDATA/Adobe/CoreSync/plugins/livetype/r//

上記設定後の luaotfload のデバッグ情報の OSFONTDIR に関連する情報

       luaotfload | db : Scanning TEXMF and $OSFONTDIR for fonts...
       luaotfload | db : $OSFONTDIR has 4 entries:
       luaotfload | db : [1] c:/Windows/fonts
       luaotfload | db : [2] c:/Users/i-wada/AppData/Local/Microsoft/Windows/Fonts
       luaotfload | db : [3] c:/Users/i-wada/AppData/Roaming/Adobe/CoreSync/plugins/livetype/r
       luaotfload | db : [4] c:/Users/i-wada/AppData/Roaming/Adobe/CoreSync/plugins/livetype/r/XXXXXX


       Adobe 以下のディレクトリはダミー(手動)で作成したもの
      最後の XXXXXX はサブディレクトリも見るかのテストでデバック目的で作成したもの
和田 勇 への返信

Re: 日本語Lua(La)TeXのソースがコンパイルできなくなった

- 和田 勇 の投稿
いちろうさんの環境に依存しないで確認できることはないかと思い、
適当なフォント(今回は Noto-JP の一つ)を %APPDATA%/Adobe/CoreSync/plugins/livetype/r に
五桁数字のファイルとしてコピーしました。

結果は、数字だけでは db 登録用のフォントファイルと認識せず、
.ttf などの適切なフォント用拡張子を付与すれば認識することが判明しました。

よって、いちろうさんが見つけられたハードリンクの方法が今の所妥当な解決策のように思います。
和田 勇 への返信

Re: 日本語Lua(La)TeXのソースがコンパイルできなくなった

- い ちろう の投稿

和田様

多忙のため、返信が大幅に遅れまして、大変申し訳ありません。

以前だとハードリンクではなく、シンボリックリンクでも何ら問題のなかったものが、突如問題が顕在化したわけです。

和田様の直近のレスを拝見する限り、(Adobe Fontsに限らず、全般的な)フォントファイルの仕様変更によるものではなく(そもそも仕様変更がなかった。)、TeX Live 2024のアップデートの際、10月初旬あたりに仕様変更が何かしら加わったと解するのが自然な気がいたします。

もっともこれは私・和田様の試行の結果を受け、私が判断したに過ぎず、私の判断が誤っているかもしれませんが、かりに私の推測が当たっていれば、このスレッドの記載事項が"バグ報告"になるのかもしれないですね。

和田様には何度も何度も私の今回のトラブルに向き合い対処していただきましたこと、本当にありがとうございました。