LuaLaTeX-ja: 日本語フォントを指定しつつ PDF に埋め込まない方法

LuaLaTeX-ja: 日本語フォントを指定しつつ PDF に埋め込まない方法

- M N の投稿
返信数: 6

環境

Debian のパッケージを使用しています。最近それを更新したところ

texlive                              2023.20240207-1
から
texlive                              2024.20240401-2
になりました(関連するパッケージも)。TeXLive2023 から TeXLive2024 になったのだと思います。

やりたいこと

標題のとおり、日本語フォントを指定しつつ、それを埋め込まない PDF を生成したいのです。

debian のパッケージを更新する前はできていましたが、更新後はエラーとなり PDF が生成できません。この環境で、目的を果たすにはどうすればいいでしょうか。

テスト用ソース

\documentclass[a4paper]{ltjsarticle}
\usepackage{luatexja-fontspec}
\setmainjfont[BoldFont=psft:FutoMinA101-Bold]{psft:Ryumin-Light}
\setsansjfont[BoldFont=psft:FutoGoB101-Bold]{psft:GothicBBB-Medium}

\begin{document}

ここは地の文。

{\bfseries ここは bfseries}

{\sffamily\bfseries ここは sffamily、bfseries}

{\sffamily ここは sffamily}

ここはふたたび地の文。
\end{document}

エラー

以前はこれで日本語フォントを埋め込まない PDF を作ることができていましたが、更新後は次のエラーが出て PDF は生成されません。

! Package fontspec Error: The font "psft:Ryumin-Light" cannot be found.

For immediate help type H <return>.
 ...                                              
                                                  
l.4 \setsansjfont
               [BoldFont=psft:FutoGoB101-Bold]{psft:GothicBBB-Medium}

psft: を理解しなくなったかのような印象です。なお、ここに記述する Ryumin-LightFutoGoB101-Bold などは、この環境には実際には存在しません。

その他

フォント指定の行を

\setmainjfont[BoldFont=Noto Serif CJK JP Bold]{Noto Serif CJK JP}
\setsansjfont[BoldFont=Noto Sans CJK JP Bold]{Noto Sans CJK JP}

のように、手元にあるフォントに変更して、 lualatex にかけると、そのとおりのフォントが埋め込まれた PDF が作成されます。

また、

\usepackage{luatexja-fontspec}
\setmainjfont[BoldFont=psft:FutoMinA101-Bold]{psft:Ryumin-Light}
\setsansjfont[BoldFont=psft:FutoGoB101-Bold]{psft:GothicBBB-Medium}

の3行の代わりに

\usepackage[noembed]{luatexja-preset}

とすれば、日本語フォント非埋め込みの PDF を生成できますが、太字の指定ができない状態のものとなり、いずれにしろ望んでいる結果ではありません。

M N への返信

Re: LuaLaTeX-ja: 日本語フォントを指定しつつ PDF に埋め込まない方法

- m c の投稿
Debian bookworm上で(Debianパッケージではなく)本家のTL2023(私のところでは2024.03.10に最終のアップデートを実施)を用いたところ,同じエラーになります.
ですので,日本語フォントを埋め込まないという強いポリシーをお持ちなのでしたら2023.20240207-1に戻すしかないと思います.
# ところで,2023.20240207-1は次期trixie用,2024.20240401-2はsid用という認識なのですが,普通にbookwormに導入できるのですか?
m c への返信

Re: LuaLaTeX-ja: 日本語フォントを指定しつつ PDF に埋め込まない方法

- 和田 勇 の投稿
ちょっと古いのですが仮想環境に debia 12.2 (stable)  + CTAN 2022 がありましたので、
テストしてみました。

CTAB の 2022 は問題なく処理できました。
しかし 同じく 2024 をインストールすると件のエラーが発生。
(CTAN 2022 はストレージ領域不足で削除してしまいました)

念のため  apt でインストールしたところ texlive (2022) とのことで処理可能でした。
(texlive-full/stable,now 2022.20230122-3)

2023 / 2024 で何かが紛れ込んだのかしら?


以上から、もう一つの代替案は debian stable で apt でインストールという方法もあるかと思います。
m c への返信

Re: LuaLaTeX-ja: 日本語フォントを指定しつつ PDF に埋め込まない方法

- M N の投稿

ご確認ありがとうございました。自分の手元の環境のみの問題ではなさそうだということがわかりました。

# ところで,2023.20240207-1は次期trixie用,2024.20240401-2はsid用という認識なのですが,普通にbookwormに導入できるのですか? 

すみません正確に書いていませんでした。手元の環境は Debian の sid です。気をつけながら使えばあまり困ったことにもならないので、もう随分長いことこの環境です(誰にでもお勧めするものではありません。たまにトラブルが生じることがあるのも承知の上です)。

ですので,日本語フォントを埋め込まないという強いポリシーをお持ちなのでしたら2023.20240207-1に戻すしかないと思います.

非埋め込みによる弊害については理解しています。埋め込みにすることでいくつかの問題が解決することも承知しています。私もすべての作成物を非埋め込みにしているわけではありません。いまここでは必要があって「日本語フォントを指定しつつ PDF に埋め込まない」という要望について書いています。

この現象が、現在や将来の LuaTeX-ja の意図するものであるなら、バージョンを戻すなりなんなり、私のほうで方策を考えなければなりません。(もしそれなら、LuaTeX-ja のドキュメントの psft に関するあたりは修正されるのがいいかと思います)

意図的なものではなくバグやエラーというものであるならば、ぜひとも私のような要望があることを汲んでいただき、修正していただけるとたいへんありがたいです。残念ながら私には中身を読んで理解して自分で修正する能力がありません。すみません。

または、私の要望を実現する何らかの方法・記述方法があるのならば、教えていただければありがたいです。

よろしくお願いします。

M N への返信

Re: LuaLaTeX-ja: 日本語フォントを指定しつつ PDF に埋め込まない方法

- 奥村 晴彦 の投稿

よくわかっていませんが

\usepackage{luatexja-fontspec}
\setmainjfont[NoEmbed,BoldFont=FutoMinA101-Bold]{Ryumin-Light}
\setsansjfont[NoEmbed,BoldFont=FutoGoB101-Bold]{GothicBBB-Medium}

ではうまくいかないでしょうか?

奥村 晴彦 への返信

Re: LuaLaTeX-ja: 日本語フォントを指定しつつ PDF に埋め込まない方法

- m c の投稿
その場合はエラーなくDebian bookwormでPDFが作成されます(TL2023,TL2024とも).
テストソースとTL2024(Vanila)で作成されたPDFを添付します.
できたPDFが質問者さんの意図したものかどうかは別ですが,Atril文書ビューワでフォント情報を見るとモリサワフォントが非埋め込みで設定されているようです.
m c への返信

Re: LuaLaTeX-ja: 日本語フォントを指定しつつ PDF に埋め込まない方法

- M N の投稿
長々と書いているうちに行き違ってしまいました。

教えていただいた書き方でうまくいきそうです。ありがとうございました。
 
はじめに例に挙げた psft: の書き方をどこで見たのかももう忘れしまいましたが、だいぶ前からこうしていて、それを使いまわしていました。
 
ありがとうございました。